// 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_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_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_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_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_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_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_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},
    {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},
    {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},
    {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},
    {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},
    {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},
    {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},
    {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},
};

struct AttributeNameInfo {
  uint32_t hash;
  XFA_Attribute attribute;
} AttributeNameInfoToEnum[] = {
    {0x68 /* h */, XFA_Attribute::H},
    {0x77 /* w */, XFA_Attribute::W},
    {0x78 /* x */, XFA_Attribute::X},
    {0x79 /* y */, XFA_Attribute::Y},
    {0x21aed /* id */, XFA_Attribute::Id},
    {0x25363 /* to */, XFA_Attribute::To},
    {0xcb0ac9 /* lineThrough */, XFA_Attribute::LineThrough},
    {0x2282c73 /* hAlign */, XFA_Attribute::HAlign},
    {0x2c1c7f1 /* typeface */, XFA_Attribute::Typeface},
    {0x3106c3a /* beforeTarget */, XFA_Attribute::BeforeTarget},
    {0x31b19c1 /* name */, XFA_Attribute::Name},
    {0x3848b3f /* next */, XFA_Attribute::Next},
    {0x43e349b /* dataRowCount */, XFA_Attribute::DataRowCount},
    {0x5518c25 /* break */, XFA_Attribute::Break},
    {0x5ce6195 /* vScrollPolicy */, XFA_Attribute::VScrollPolicy},
    {0x8c74ae9 /* fontHorizontalScale */, XFA_Attribute::FontHorizontalScale},
    {0x8d4f1c7 /* textIndent */, XFA_Attribute::TextIndent},
    {0x97c1c65 /* context */, XFA_Attribute::Context},
    {0x9876578 /* trayOut */, XFA_Attribute::TrayOut},
    {0xa2e3514 /* cap */, XFA_Attribute::Cap},
    {0xb3543a6 /* max */, XFA_Attribute::Max},
    {0xb356ca4 /* min */, XFA_Attribute::Min},
    {0xbb8df5d /* ref */, XFA_Attribute::Ref},
    {0xbb8f3df /* rid */, XFA_Attribute::Rid},
    {0xc080cd3 /* url */, XFA_Attribute::Url},
    {0xc0811ed /* use */, XFA_Attribute::Use},
    {0xcfea02e /* leftInset */, XFA_Attribute::LeftInset},
    {0x1026c59d /* widows */, XFA_Attribute::Widows},
    {0x1059ec18 /* level */, XFA_Attribute::Level},
    {0x1356caf8 /* bottomInset */, XFA_Attribute::BottomInset},
    {0x13a08bdb /* overflowTarget */, XFA_Attribute::OverflowTarget},
    {0x1414d431 /* allowMacro */, XFA_Attribute::AllowMacro},
    {0x14a32d52 /* pagePosition */, XFA_Attribute::PagePosition},
    {0x1517dfa1 /* columnWidths */, XFA_Attribute::ColumnWidths},
    {0x169134a1 /* overflowLeader */, XFA_Attribute::OverflowLeader},
    {0x1b8dce3e /* action */, XFA_Attribute::Action},
    {0x1e459b8f /* nonRepudiation */, XFA_Attribute::NonRepudiation},
    {0x1ec8ab2c /* rate */, XFA_Attribute::Rate},
    {0x1ef3a64a /* allowRichText */, XFA_Attribute::AllowRichText},
    {0x2038c9b2 /* role */, XFA_Attribute::Role},
    {0x20914367 /* overflowTrailer */, XFA_Attribute::OverflowTrailer},
    {0x226ca8f1 /* operation */, XFA_Attribute::Operation},
    {0x24d85167 /* timeout */, XFA_Attribute::Timeout},
    {0x25764436 /* topInset */, XFA_Attribute::TopInset},
    {0x25839852 /* access */, XFA_Attribute::Access},
    {0x268b7ec1 /* commandType */, XFA_Attribute::CommandType},
    {0x28dee6e9 /* format */, XFA_Attribute::Format},
    {0x28e17e91 /* dataPrep */, XFA_Attribute::DataPrep},
    {0x292b88fe /* widgetData */, XFA_Attribute::WidgetData},
    {0x29418bb7 /* abbr */, XFA_Attribute::Abbr},
    {0x2a82d99c /* marginRight */, XFA_Attribute::MarginRight},
    {0x2b5df51e /* dataDescription */, XFA_Attribute::DataDescription},
    {0x2bb3f470 /* encipherOnly */, XFA_Attribute::EncipherOnly},
    {0x2cd79033 /* kerningMode */, XFA_Attribute::KerningMode},
    {0x2ee7678f /* rotate */, XFA_Attribute::Rotate},
    {0x2f105f72 /* wordCharacterCount */, XFA_Attribute::WordCharacterCount},
    {0x2f16a382 /* type */, XFA_Attribute::Type},
    {0x34ae103c /* reserve */, XFA_Attribute::Reserve},
    {0x3650557e /* textLocation */, XFA_Attribute::TextLocation},
    {0x39cdb0a2 /* priority */, XFA_Attribute::Priority},
    {0x3a0273a6 /* underline */, XFA_Attribute::Underline},
    {0x3b582286 /* moduleWidth */, XFA_Attribute::ModuleWidth},
    {0x3d123c26 /* hyphenate */, XFA_Attribute::Hyphenate},
    {0x3e7af94f /* listen */, XFA_Attribute::Listen},
    {0x4156ee3f /* delimiter */, XFA_Attribute::Delimiter},
    {0x42fed1fd /* contentType */, XFA_Attribute::ContentType},
    {0x453eaf38 /* startNew */, XFA_Attribute::StartNew},
    {0x45a6daf8 /* eofAction */, XFA_Attribute::EofAction},
    {0x47cfa43a /* allowNeutral */, XFA_Attribute::AllowNeutral},
    {0x47d03490 /* connection */, XFA_Attribute::Connection},
    {0x4873c601 /* baselineShift */, XFA_Attribute::BaselineShift},
    {0x4b319767 /* overlinePeriod */, XFA_Attribute::OverlinePeriod},
    {0x4b8bc840 /* fracDigits */, XFA_Attribute::FracDigits},
    {0x4ef3d02c /* orientation */, XFA_Attribute::Orientation},
    {0x4fdc3454 /* timeStamp */, XFA_Attribute::TimeStamp},
    {0x52666f1c /* printCheckDigit */, XFA_Attribute::PrintCheckDigit},
    {0x534729c9 /* marginLeft */, XFA_Attribute::MarginLeft},
    {0x5392ea58 /* stroke */, XFA_Attribute::Stroke},
    {0x5404d6df /* moduleHeight */, XFA_Attribute::ModuleHeight},
    {0x54fa722c /* transferEncoding */, XFA_Attribute::TransferEncoding},
    {0x552d9ad5 /* usage */, XFA_Attribute::Usage},
    {0x570ce835 /* presence */, XFA_Attribute::Presence},
    {0x5739d1ff /* radixOffset */, XFA_Attribute::RadixOffset},
    {0x577682ac /* preserve */, XFA_Attribute::Preserve},
    {0x58be2870 /* aliasNode */, XFA_Attribute::AliasNode},
    {0x5a32e493 /* multiLine */, XFA_Attribute::MultiLine},
    {0x5a50e9e6 /* version */, XFA_Attribute::Version},
    {0x5ab23b6c /* startChar */, XFA_Attribute::StartChar},
    {0x5b707a35 /* scriptTest */, XFA_Attribute::ScriptTest},
    {0x5c054755 /* startAngle */, XFA_Attribute::StartAngle},
    {0x5ec958c0 /* cursorType */, XFA_Attribute::CursorType},
    {0x5f760b50 /* digitalSignature */, XFA_Attribute::DigitalSignature},
    {0x60a61edd /* codeType */, XFA_Attribute::CodeType},
    {0x60d4c8b1 /* output */, XFA_Attribute::Output},
    {0x64110ab5 /* bookendTrailer */, XFA_Attribute::BookendTrailer},
    {0x65e30c67 /* imagingBBox */, XFA_Attribute::ImagingBBox},
    {0x66539c48 /* excludeInitialCap */, XFA_Attribute::ExcludeInitialCap},
    {0x66642f8f /* force */, XFA_Attribute::Force},
    {0x69aa2292 /* crlSign */, XFA_Attribute::CrlSign},
    {0x6a3405dd /* previous */, XFA_Attribute::Previous},
    {0x6a95c976 /* pushCharacterCount */, XFA_Attribute::PushCharacterCount},
    {0x6b6ddcfb /* nullTest */, XFA_Attribute::NullTest},
    {0x6cfa828a /* runAt */, XFA_Attribute::RunAt},
    {0x731e0665 /* spaceBelow */, XFA_Attribute::SpaceBelow},
    {0x74788f8b /* sweepAngle */, XFA_Attribute::SweepAngle},
    {0x78bff531 /* numberOfCells */, XFA_Attribute::NumberOfCells},
    {0x79543055 /* letterSpacing */, XFA_Attribute::LetterSpacing},
    {0x79975f2b /* lockType */, XFA_Attribute::LockType},
    {0x7a0cc471 /* passwordChar */, XFA_Attribute::PasswordChar},
    {0x7a7cc341 /* vAlign */, XFA_Attribute::VAlign},
    {0x7b29630a /* sourceBelow */, XFA_Attribute::SourceBelow},
    {0x7b95e661 /* inverted */, XFA_Attribute::Inverted},
    {0x7c2fd80b /* mark */, XFA_Attribute::Mark},
    {0x7c2ff6ae /* maxH */, XFA_Attribute::MaxH},
    {0x7c2ff6bd /* maxW */, XFA_Attribute::MaxW},
    {0x7c732a66 /* truncate */, XFA_Attribute::Truncate},
    {0x7d02356c /* minH */, XFA_Attribute::MinH},
    {0x7d02357b /* minW */, XFA_Attribute::MinW},
    {0x7d0b5fca /* initial */, XFA_Attribute::Initial},
    {0x7d9fd7c5 /* mode */, XFA_Attribute::Mode},
    {0x7e7e845e /* layout */, XFA_Attribute::Layout},
    {0x7f6fd3d7 /* server */, XFA_Attribute::Server},
    {0x824f21b7 /* embedPDF */, XFA_Attribute::EmbedPDF},
    {0x8340ea66 /* oddOrEven */, XFA_Attribute::OddOrEven},
    {0x836d4d7c /* tabDefault */, XFA_Attribute::TabDefault},
    {0x8855805f /* contains */, XFA_Attribute::Contains},
    {0x8a692521 /* rightInset */, XFA_Attribute::RightInset},
    {0x8af2e657 /* maxChars */, XFA_Attribute::MaxChars},
    {0x8b90e1f2 /* open */, XFA_Attribute::Open},
    {0x8c99377e /* relation */, XFA_Attribute::Relation},
    {0x8d181d61 /* wideNarrowRatio */, XFA_Attribute::WideNarrowRatio},
    {0x8e1c2921 /* relevant */, XFA_Attribute::Relevant},
    {0x8e29d794 /* signatureType */, XFA_Attribute::SignatureType},
    {0x8ec6204c /* lineThroughPeriod */, XFA_Attribute::LineThroughPeriod},
    {0x8ed182d1 /* shape */, XFA_Attribute::Shape},
    {0x8fa01790 /* tabStops */, XFA_Attribute::TabStops},
    {0x8fc36c0a /* outputBelow */, XFA_Attribute::OutputBelow},
    {0x9041d4b0 /* short */, XFA_Attribute::Short},
    {0x907c7719 /* fontVerticalScale */, XFA_Attribute::FontVerticalScale},
    {0x94446dcc /* thickness */, XFA_Attribute::Thickness},
    {0x957fa006 /* commitOn */, XFA_Attribute::CommitOn},
    {0x982bd892 /* remainCharacterCount */,
     XFA_Attribute::RemainCharacterCount},
    {0x98fd4d81 /* keyAgreement */, XFA_Attribute::KeyAgreement},
    {0x99800d7a /* errorCorrectionLevel */,
     XFA_Attribute::ErrorCorrectionLevel},
    {0x9a63da3d /* upsMode */, XFA_Attribute::UpsMode},
    {0x9cc17d75 /* mergeMode */, XFA_Attribute::MergeMode},
    {0x9d833d75 /* circular */, XFA_Attribute::Circular},
    {0x9d8ee204 /* psName */, XFA_Attribute::PsName},
    {0x9dcc3ab3 /* trailer */, XFA_Attribute::Trailer},
    {0xa0933954 /* unicodeRange */, XFA_Attribute::UnicodeRange},
    {0xa1b0d2f5 /* executeType */, XFA_Attribute::ExecuteType},
    {0xa25a883d /* duplexImposition */, XFA_Attribute::DuplexImposition},
    {0xa42ca1b7 /* trayIn */, XFA_Attribute::TrayIn},
    {0xa433f001 /* bindingNode */, XFA_Attribute::BindingNode},
    {0xa5340ff5 /* bofAction */, XFA_Attribute::BofAction},
    {0xa5b410cf /* save */, XFA_Attribute::Save},
    {0xa6118c89 /* targetType */, XFA_Attribute::TargetType},
    {0xa66404cb /* keyEncipherment */, XFA_Attribute::KeyEncipherment},
    {0xa6710262 /* credentialServerPolicy */,
     XFA_Attribute::CredentialServerPolicy},
    {0xa686975b /* size */, XFA_Attribute::Size},
    {0xa85e74f3 /* initialNumber */, XFA_Attribute::InitialNumber},
    {0xabef37e3 /* slope */, XFA_Attribute::Slope},
    {0xabfa6c4f /* cSpace */, XFA_Attribute::CSpace},
    {0xac06e2b0 /* colSpan */, XFA_Attribute::ColSpan},
    {0xadc4c77b /* binding */, XFA_Attribute::Binding},
    {0xaf754613 /* checksum */, XFA_Attribute::Checksum},
    {0xb045fbc5 /* charEncoding */, XFA_Attribute::CharEncoding},
    {0xb0e5485d /* bind */, XFA_Attribute::Bind},
    {0xb12128b7 /* textEntry */, XFA_Attribute::TextEntry},
    {0xb373a862 /* archive */, XFA_Attribute::Archive},
    {0xb598a1f7 /* uuid */, XFA_Attribute::Uuid},
    {0xb5e49bf2 /* posture */, XFA_Attribute::Posture},
    {0xb6b44172 /* after */, XFA_Attribute::After},
    {0xb716467b /* orphans */, XFA_Attribute::Orphans},
    {0xbc0c4695 /* qualifiedName */, XFA_Attribute::QualifiedName},
    {0xbc254332 /* usehref */, XFA_Attribute::Usehref},
    {0xbc8fa350 /* locale */, XFA_Attribute::Locale},
    {0xbd6e1d88 /* weight */, XFA_Attribute::Weight},
    {0xbd96a0e9 /* underlinePeriod */, XFA_Attribute::UnderlinePeriod},
    {0xbde9abda /* data */, XFA_Attribute::Data},
    {0xbe52dfbf /* desc */, XFA_Attribute::Desc},
    {0xbe9ba472 /* numbered */, XFA_Attribute::Numbered},
    {0xc035c6b1 /* dataColumnCount */, XFA_Attribute::DataColumnCount},
    {0xc0ec9fa4 /* overline */, XFA_Attribute::Overline},
    {0xc2ba0923 /* urlPolicy */, XFA_Attribute::UrlPolicy},
    {0xc2bd40fd /* anchorType */, XFA_Attribute::AnchorType},
    {0xc39a88bd /* labelRef */, XFA_Attribute::LabelRef},
    {0xc3c1442f /* bookendLeader */, XFA_Attribute::BookendLeader},
    {0xc4547a08 /* maxLength */, XFA_Attribute::MaxLength},
    {0xc4fed09b /* accessKey */, XFA_Attribute::AccessKey},
    {0xc5762157 /* cursorLocation */, XFA_Attribute::CursorLocation},
    {0xc860f30a /* delayedOpen */, XFA_Attribute::DelayedOpen},
    {0xc8da4da7 /* target */, XFA_Attribute::Target},
    {0xca5dc27c /* dataEncipherment */, XFA_Attribute::DataEncipherment},
    {0xcb150479 /* afterTarget */, XFA_Attribute::AfterTarget},
    {0xcbcaf66d /* leader */, XFA_Attribute::Leader},
    {0xcca7897e /* picker */, XFA_Attribute::Picker},
    {0xcd7f7b54 /* from */, XFA_Attribute::From},
    {0xcea5e62c /* baseProfile */, XFA_Attribute::BaseProfile},
    {0xd171b240 /* aspect */, XFA_Attribute::Aspect},
    {0xd3c84d25 /* rowColumnRatio */, XFA_Attribute::RowColumnRatio},
    {0xd4b01921 /* lineHeight */, XFA_Attribute::LineHeight},
    {0xd4cc53f8 /* highlight */, XFA_Attribute::Highlight},
    {0xd50f903a /* valueRef */, XFA_Attribute::ValueRef},
    {0xd52482e0 /* maxEntries */, XFA_Attribute::MaxEntries},
    {0xd57c513c /* dataLength */, XFA_Attribute::DataLength},
    {0xd6128d8d /* activity */, XFA_Attribute::Activity},
    {0xd6a39990 /* input */, XFA_Attribute::Input},
    {0xd6e27f1d /* value */, XFA_Attribute::Value},
    {0xd70798c2 /* blankOrNotBlank */, XFA_Attribute::BlankOrNotBlank},
    {0xd861f8af /* addRevocationInfo */, XFA_Attribute::AddRevocationInfo},
    {0xd8f982bf /* genericFamily */, XFA_Attribute::GenericFamily},
    {0xd996fa9b /* hand */, XFA_Attribute::Hand},
    {0xdb55fec5 /* href */, XFA_Attribute::Href},
    {0xdc75676c /* textEncoding */, XFA_Attribute::TextEncoding},
    {0xde7f92ba /* leadDigits */, XFA_Attribute::LeadDigits},
    {0xe11a2cbc /* permissions */, XFA_Attribute::Permissions},
    {0xe18b5659 /* spaceAbove */, XFA_Attribute::SpaceAbove},
    {0xe1a26b56 /* codeBase */, XFA_Attribute::CodeBase},
    {0xe349d044 /* stock */, XFA_Attribute::Stock},
    {0xe372ae97 /* isNull */, XFA_Attribute::IsNull},
    {0xe4c3a5e5 /* restoreState */, XFA_Attribute::RestoreState},
    {0xe5c96d6a /* excludeAllCaps */, XFA_Attribute::ExcludeAllCaps},
    {0xe64b1129 /* formatTest */, XFA_Attribute::FormatTest},
    {0xe6f99487 /* hScrollPolicy */, XFA_Attribute::HScrollPolicy},
    {0xe8dddf50 /* join */, XFA_Attribute::Join},
    {0xe8f118a8 /* keyCertSign */, XFA_Attribute::KeyCertSign},
    {0xe948b9a8 /* radius */, XFA_Attribute::Radius},
    {0xe996b2fe /* sourceAbove */, XFA_Attribute::SourceAbove},
    {0xea7090a0 /* override */, XFA_Attribute::Override},
    {0xeb091003 /* classId */, XFA_Attribute::ClassId},
    {0xeb511b54 /* disable */, XFA_Attribute::Disable},
    {0xeda9017a /* scope */, XFA_Attribute::Scope},
    {0xf197844d /* match */, XFA_Attribute::Match},
    {0xf2009339 /* placement */, XFA_Attribute::Placement},
    {0xf4ffce73 /* before */, XFA_Attribute::Before},
    {0xf531b059 /* writingScript */, XFA_Attribute::WritingScript},
    {0xf575ca75 /* endChar */, XFA_Attribute::EndChar},
    {0xf6b47749 /* lock */, XFA_Attribute::Lock},
    {0xf6b4afb0 /* long */, XFA_Attribute::Long},
    {0xf6b59543 /* intact */, XFA_Attribute::Intact},
    {0xf889e747 /* xdpContent */, XFA_Attribute::XdpContent},
    {0xfea53ec6 /* decipherOnly */, XFA_Attribute::DecipherOnly},
};

}  // 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 != std::end(ElementNameToEnum) && elem->hash == hash)
    return elem->element;
  return XFA_Element::Unknown;
}

// static
XFA_Attribute CXFA_Node::NameToAttribute(const WideStringView& name) {
  uint32_t hash = FX_HashCode_GetW(name, false);
  auto* elem = std::lower_bound(
      std::begin(AttributeNameInfoToEnum), std::end(AttributeNameInfoToEnum),
      hash,
      [](const AttributeNameInfo& a, uint32_t hash) { return a.hash < hash; });
  if (elem != std::end(AttributeNameInfoToEnum) && elem->hash == hash)
    return elem->attribute;
  return XFA_Attribute::Unknown;
}

// static
std::unique_ptr<CXFA_Node> CXFA_Node::Create(CXFA_Document* doc,
                                             XFA_Element element,
                                             XFA_PacketType packet) {
  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::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::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::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::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::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::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::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;
    default:
      NOTREACHED();
      return nullptr;
  }
  if (!node || !node->IsValidInPacket(packet))
    return nullptr;
  return node;
}

// static
WideString CXFA_Node::AttributeToName(XFA_Attribute attr) {
  switch (attr) {
    case XFA_Attribute::H:
      return L"h";
    case XFA_Attribute::W:
      return L"w";
    case XFA_Attribute::X:
      return L"x";
    case XFA_Attribute::Y:
      return L"y";
    case XFA_Attribute::Id:
      return L"id";
    case XFA_Attribute::To:
      return L"to";
    case XFA_Attribute::LineThrough:
      return L"lineThrough";
    case XFA_Attribute::HAlign:
      return L"hAlign";
    case XFA_Attribute::Typeface:
      return L"typeface";
    case XFA_Attribute::BeforeTarget:
      return L"beforeTarget";
    case XFA_Attribute::Name:
      return L"name";
    case XFA_Attribute::Next:
      return L"next";
    case XFA_Attribute::DataRowCount:
      return L"dataRowCount";
    case XFA_Attribute::Break:
      return L"break";
    case XFA_Attribute::VScrollPolicy:
      return L"vScrollPolicy";
    case XFA_Attribute::FontHorizontalScale:
      return L"fontHorizontalScale";
    case XFA_Attribute::TextIndent:
      return L"textIndent";
    case XFA_Attribute::Context:
      return L"context";
    case XFA_Attribute::TrayOut:
      return L"trayOut";
    case XFA_Attribute::Cap:
      return L"cap";
    case XFA_Attribute::Max:
      return L"max";
    case XFA_Attribute::Min:
      return L"min";
    case XFA_Attribute::Ref:
      return L"ref";
    case XFA_Attribute::Rid:
      return L"rid";
    case XFA_Attribute::Url:
      return L"url";
    case XFA_Attribute::Use:
      return L"use";
    case XFA_Attribute::LeftInset:
      return L"leftInset";
    case XFA_Attribute::Widows:
      return L"widows";
    case XFA_Attribute::Level:
      return L"level";
    case XFA_Attribute::BottomInset:
      return L"bottomInset";
    case XFA_Attribute::OverflowTarget:
      return L"overflowTarget";
    case XFA_Attribute::AllowMacro:
      return L"allowMacro";
    case XFA_Attribute::PagePosition:
      return L"pagePosition";
    case XFA_Attribute::ColumnWidths:
      return L"columnWidths";
    case XFA_Attribute::OverflowLeader:
      return L"overflowLeader";
    case XFA_Attribute::Action:
      return L"action";
    case XFA_Attribute::NonRepudiation:
      return L"nonRepudiation";
    case XFA_Attribute::Rate:
      return L"rate";
    case XFA_Attribute::AllowRichText:
      return L"allowRichText";
    case XFA_Attribute::Role:
      return L"role";
    case XFA_Attribute::OverflowTrailer:
      return L"overflowTrailer";
    case XFA_Attribute::Operation:
      return L"operation";
    case XFA_Attribute::Timeout:
      return L"timeout";
    case XFA_Attribute::TopInset:
      return L"topInset";
    case XFA_Attribute::Access:
      return L"access";
    case XFA_Attribute::CommandType:
      return L"commandType";
    case XFA_Attribute::Format:
      return L"format";
    case XFA_Attribute::DataPrep:
      return L"dataPrep";
    case XFA_Attribute::WidgetData:
      return L"widgetData";
    case XFA_Attribute::Abbr:
      return L"abbr";
    case XFA_Attribute::MarginRight:
      return L"marginRight";
    case XFA_Attribute::DataDescription:
      return L"dataDescription";
    case XFA_Attribute::EncipherOnly:
      return L"encipherOnly";
    case XFA_Attribute::KerningMode:
      return L"kerningMode";
    case XFA_Attribute::Rotate:
      return L"rotate";
    case XFA_Attribute::WordCharacterCount:
      return L"wordCharacterCount";
    case XFA_Attribute::Type:
      return L"type";
    case XFA_Attribute::Reserve:
      return L"reserve";
    case XFA_Attribute::TextLocation:
      return L"textLocation";
    case XFA_Attribute::Priority:
      return L"priority";
    case XFA_Attribute::Underline:
      return L"underline";
    case XFA_Attribute::ModuleWidth:
      return L"moduleWidth";
    case XFA_Attribute::Hyphenate:
      return L"hyphenate";
    case XFA_Attribute::Listen:
      return L"listen";
    case XFA_Attribute::Delimiter:
      return L"delimiter";
    case XFA_Attribute::ContentType:
      return L"contentType";
    case XFA_Attribute::StartNew:
      return L"startNew";
    case XFA_Attribute::EofAction:
      return L"eofAction";
    case XFA_Attribute::AllowNeutral:
      return L"allowNeutral";
    case XFA_Attribute::Connection:
      return L"connection";
    case XFA_Attribute::BaselineShift:
      return L"baselineShift";
    case XFA_Attribute::OverlinePeriod:
      return L"overlinePeriod";
    case XFA_Attribute::FracDigits:
      return L"fracDigits";
    case XFA_Attribute::Orientation:
      return L"orientation";
    case XFA_Attribute::TimeStamp:
      return L"timeStamp";
    case XFA_Attribute::PrintCheckDigit:
      return L"printCheckDigit";
    case XFA_Attribute::MarginLeft:
      return L"marginLeft";
    case XFA_Attribute::Stroke:
      return L"stroke";
    case XFA_Attribute::ModuleHeight:
      return L"moduleHeight";
    case XFA_Attribute::TransferEncoding:
      return L"transferEncoding";
    case XFA_Attribute::Usage:
      return L"usage";
    case XFA_Attribute::Presence:
      return L"presence";
    case XFA_Attribute::RadixOffset:
      return L"radixOffset";
    case XFA_Attribute::Preserve:
      return L"preserve";
    case XFA_Attribute::AliasNode:
      return L"aliasNode";
    case XFA_Attribute::MultiLine:
      return L"multiLine";
    case XFA_Attribute::Version:
      return L"version";
    case XFA_Attribute::StartChar:
      return L"startChar";
    case XFA_Attribute::ScriptTest:
      return L"scriptTest";
    case XFA_Attribute::StartAngle:
      return L"startAngle";
    case XFA_Attribute::CursorType:
      return L"cursorType";
    case XFA_Attribute::DigitalSignature:
      return L"digitalSignature";
    case XFA_Attribute::CodeType:
      return L"codeType";
    case XFA_Attribute::Output:
      return L"output";
    case XFA_Attribute::BookendTrailer:
      return L"bookendTrailer";
    case XFA_Attribute::ImagingBBox:
      return L"imagingBBox";
    case XFA_Attribute::ExcludeInitialCap:
      return L"excludeInitialCap";
    case XFA_Attribute::Force:
      return L"force";
    case XFA_Attribute::CrlSign:
      return L"crlSign";
    case XFA_Attribute::Previous:
      return L"previous";
    case XFA_Attribute::PushCharacterCount:
      return L"pushCharacterCount";
    case XFA_Attribute::NullTest:
      return L"nullTest";
    case XFA_Attribute::RunAt:
      return L"runAt";
    case XFA_Attribute::SpaceBelow:
      return L"spaceBelow";
    case XFA_Attribute::SweepAngle:
      return L"sweepAngle";
    case XFA_Attribute::NumberOfCells:
      return L"numberOfCells";
    case XFA_Attribute::LetterSpacing:
      return L"letterSpacing";
    case XFA_Attribute::LockType:
      return L"lockType";
    case XFA_Attribute::PasswordChar:
      return L"passwordChar";
    case XFA_Attribute::VAlign:
      return L"vAlign";
    case XFA_Attribute::SourceBelow:
      return L"sourceBelow";
    case XFA_Attribute::Inverted:
      return L"inverted";
    case XFA_Attribute::Mark:
      return L"mark";
    case XFA_Attribute::MaxH:
      return L"maxH";
    case XFA_Attribute::MaxW:
      return L"maxW";
    case XFA_Attribute::Truncate:
      return L"truncate";
    case XFA_Attribute::MinH:
      return L"minH";
    case XFA_Attribute::MinW:
      return L"minW";
    case XFA_Attribute::Initial:
      return L"initial";
    case XFA_Attribute::Mode:
      return L"mode";
    case XFA_Attribute::Layout:
      return L"layout";
    case XFA_Attribute::Server:
      return L"server";
    case XFA_Attribute::EmbedPDF:
      return L"embedPDF";
    case XFA_Attribute::OddOrEven:
      return L"oddOrEven";
    case XFA_Attribute::TabDefault:
      return L"tabDefault";
    case XFA_Attribute::Contains:
      return L"contains";
    case XFA_Attribute::RightInset:
      return L"rightInset";
    case XFA_Attribute::MaxChars:
      return L"maxChars";
    case XFA_Attribute::Open:
      return L"open";
    case XFA_Attribute::Relation:
      return L"relation";
    case XFA_Attribute::WideNarrowRatio:
      return L"wideNarrowRatio";
    case XFA_Attribute::Relevant:
      return L"relevant";
    case XFA_Attribute::SignatureType:
      return L"signatureType";
    case XFA_Attribute::LineThroughPeriod:
      return L"lineThroughPeriod";
    case XFA_Attribute::Shape:
      return L"shape";
    case XFA_Attribute::TabStops:
      return L"tabStops";
    case XFA_Attribute::OutputBelow:
      return L"outputBelow";
    case XFA_Attribute::Short:
      return L"short";
    case XFA_Attribute::FontVerticalScale:
      return L"fontVerticalScale";
    case XFA_Attribute::Thickness:
      return L"thickness";
    case XFA_Attribute::CommitOn:
      return L"commitOn";
    case XFA_Attribute::RemainCharacterCount:
      return L"remainCharacterCount";
    case XFA_Attribute::KeyAgreement:
      return L"keyAgreement";
    case XFA_Attribute::ErrorCorrectionLevel:
      return L"errorCorrectionLevel";
    case XFA_Attribute::UpsMode:
      return L"upsMode";
    case XFA_Attribute::MergeMode:
      return L"mergeMode";
    case XFA_Attribute::Circular:
      return L"circular";
    case XFA_Attribute::PsName:
      return L"psName";
    case XFA_Attribute::Trailer:
      return L"trailer";
    case XFA_Attribute::UnicodeRange:
      return L"unicodeRange";
    case XFA_Attribute::ExecuteType:
      return L"executeType";
    case XFA_Attribute::DuplexImposition:
      return L"duplexImposition";
    case XFA_Attribute::TrayIn:
      return L"trayIn";
    case XFA_Attribute::BindingNode:
      return L"bindingNode";
    case XFA_Attribute::BofAction:
      return L"bofAction";
    case XFA_Attribute::Save:
      return L"save";
    case XFA_Attribute::TargetType:
      return L"targetType";
    case XFA_Attribute::KeyEncipherment:
      return L"keyEncipherment";
    case XFA_Attribute::CredentialServerPolicy:
      return L"credentialServerPolicy";
    case XFA_Attribute::Size:
      return L"size";
    case XFA_Attribute::InitialNumber:
      return L"initialNumber";
    case XFA_Attribute::Slope:
      return L"slope";
    case XFA_Attribute::CSpace:
      return L"cSpace";
    case XFA_Attribute::ColSpan:
      return L"colSpan";
    case XFA_Attribute::Binding:
      return L"binding";
    case XFA_Attribute::Checksum:
      return L"checksum";
    case XFA_Attribute::CharEncoding:
      return L"charEncoding";
    case XFA_Attribute::Bind:
      return L"bind";
    case XFA_Attribute::TextEntry:
      return L"textEntry";
    case XFA_Attribute::Archive:
      return L"archive";
    case XFA_Attribute::Uuid:
      return L"uuid";
    case XFA_Attribute::Posture:
      return L"posture";
    case XFA_Attribute::After:
      return L"after";
    case XFA_Attribute::Orphans:
      return L"orphans";
    case XFA_Attribute::QualifiedName:
      return L"qualifiedName";
    case XFA_Attribute::Usehref:
      return L"usehref";
    case XFA_Attribute::Locale:
      return L"locale";
    case XFA_Attribute::Weight:
      return L"weight";
    case XFA_Attribute::UnderlinePeriod:
      return L"underlinePeriod";
    case XFA_Attribute::Data:
      return L"data";
    case XFA_Attribute::Desc:
      return L"desc";
    case XFA_Attribute::Numbered:
      return L"numbered";
    case XFA_Attribute::DataColumnCount:
      return L"dataColumnCount";
    case XFA_Attribute::Overline:
      return L"overline";
    case XFA_Attribute::UrlPolicy:
      return L"urlPolicy";
    case XFA_Attribute::AnchorType:
      return L"anchorType";
    case XFA_Attribute::LabelRef:
      return L"labelRef";
    case XFA_Attribute::BookendLeader:
      return L"bookendLeader";
    case XFA_Attribute::MaxLength:
      return L"maxLength";
    case XFA_Attribute::AccessKey:
      return L"accessKey";
    case XFA_Attribute::CursorLocation:
      return L"cursorLocation";
    case XFA_Attribute::DelayedOpen:
      return L"delayedOpen";
    case XFA_Attribute::Target:
      return L"target";
    case XFA_Attribute::DataEncipherment:
      return L"dataEncipherment";
    case XFA_Attribute::AfterTarget:
      return L"afterTarget";
    case XFA_Attribute::Leader:
      return L"leader";
    case XFA_Attribute::Picker:
      return L"picker";
    case XFA_Attribute::From:
      return L"from";
    case XFA_Attribute::BaseProfile:
      return L"baseProfile";
    case XFA_Attribute::Aspect:
      return L"aspect";
    case XFA_Attribute::RowColumnRatio:
      return L"rowColumnRatio";
    case XFA_Attribute::LineHeight:
      return L"lineHeight";
    case XFA_Attribute::Highlight:
      return L"highlight";
    case XFA_Attribute::ValueRef:
      return L"valueRef";
    case XFA_Attribute::MaxEntries:
      return L"maxEntries";
    case XFA_Attribute::DataLength:
      return L"dataLength";
    case XFA_Attribute::Activity:
      return L"activity";
    case XFA_Attribute::Input:
      return L"input";
    case XFA_Attribute::Value:
      return L"value";
    case XFA_Attribute::BlankOrNotBlank:
      return L"blankOrNotBlank";
    case XFA_Attribute::AddRevocationInfo:
      return L"addRevocationInfo";
    case XFA_Attribute::GenericFamily:
      return L"genericFamily";
    case XFA_Attribute::Hand:
      return L"hand";
    case XFA_Attribute::Href:
      return L"href";
    case XFA_Attribute::TextEncoding:
      return L"textEncoding";
    case XFA_Attribute::LeadDigits:
      return L"leadDigits";
    case XFA_Attribute::Permissions:
      return L"permissions";
    case XFA_Attribute::SpaceAbove:
      return L"spaceAbove";
    case XFA_Attribute::CodeBase:
      return L"codeBase";
    case XFA_Attribute::Stock:
      return L"stock";
    case XFA_Attribute::IsNull:
      return L"isNull";
    case XFA_Attribute::RestoreState:
      return L"restoreState";
    case XFA_Attribute::ExcludeAllCaps:
      return L"excludeAllCaps";
    case XFA_Attribute::FormatTest:
      return L"formatTest";
    case XFA_Attribute::HScrollPolicy:
      return L"hScrollPolicy";
    case XFA_Attribute::Join:
      return L"join";
    case XFA_Attribute::KeyCertSign:
      return L"keyCertSign";
    case XFA_Attribute::Radius:
      return L"radius";
    case XFA_Attribute::SourceAbove:
      return L"sourceAbove";
    case XFA_Attribute::Override:
      return L"override";
    case XFA_Attribute::ClassId:
      return L"classId";
    case XFA_Attribute::Disable:
      return L"disable";
    case XFA_Attribute::Scope:
      return L"scope";
    case XFA_Attribute::Match:
      return L"match";
    case XFA_Attribute::Placement:
      return L"placement";
    case XFA_Attribute::Before:
      return L"before";
    case XFA_Attribute::WritingScript:
      return L"writingScript";
    case XFA_Attribute::EndChar:
      return L"endChar";
    case XFA_Attribute::Lock:
      return L"lock";
    case XFA_Attribute::Long:
      return L"long";
    case XFA_Attribute::Intact:
      return L"intact";
    case XFA_Attribute::XdpContent:
      return L"xdpContent";
    case XFA_Attribute::DecipherOnly:
      return L"decipherOnly";

    default:
      NOTREACHED();
      break;
  }
  return L"";
}

#ifndef NDEBUG
// static
WideString CXFA_Node::ElementToName(XFA_Element attr) {
  switch (attr) {
    case XFA_Element::Ps:
      return L"ps";
    case XFA_Element::To:
      return L"to";
    case XFA_Element::Ui:
      return L"ui";
    case XFA_Element::RecordSet:
      return L"recordSet";
    case XFA_Element::SubsetBelow:
      return L"subsetBelow";
    case XFA_Element::SubformSet:
      return L"subformSet";
    case XFA_Element::AdobeExtensionLevel:
      return L"adobeExtensionLevel";
    case XFA_Element::Typeface:
      return L"typeface";
    case XFA_Element::Break:
      return L"break";
    case XFA_Element::FontInfo:
      return L"fontInfo";
    case XFA_Element::NumberPattern:
      return L"numberPattern";
    case XFA_Element::DynamicRender:
      return L"dynamicRender";
    case XFA_Element::PrintScaling:
      return L"printScaling";
    case XFA_Element::CheckButton:
      return L"checkButton";
    case XFA_Element::DatePatterns:
      return L"datePatterns";
    case XFA_Element::SourceSet:
      return L"sourceSet";
    case XFA_Element::Amd:
      return L"amd";
    case XFA_Element::Arc:
      return L"arc";
    case XFA_Element::Day:
      return L"day";
    case XFA_Element::Era:
      return L"era";
    case XFA_Element::Jog:
      return L"jog";
    case XFA_Element::Log:
      return L"log";
    case XFA_Element::Map:
      return L"map";
    case XFA_Element::Mdp:
      return L"mdp";
    case XFA_Element::BreakBefore:
      return L"breakBefore";
    case XFA_Element::Oid:
      return L"oid";
    case XFA_Element::Pcl:
      return L"pcl";
    case XFA_Element::Pdf:
      return L"pdf";
    case XFA_Element::Ref:
      return L"ref";
    case XFA_Element::Uri:
      return L"uri";
    case XFA_Element::Xdc:
      return L"xdc";
    case XFA_Element::Xdp:
      return L"xdp";
    case XFA_Element::Xfa:
      return L"xfa";
    case XFA_Element::Xsl:
      return L"xsl";
    case XFA_Element::Zpl:
      return L"zpl";
    case XFA_Element::Cache:
      return L"cache";
    case XFA_Element::Margin:
      return L"margin";
    case XFA_Element::KeyUsage:
      return L"keyUsage";
    case XFA_Element::Exclude:
      return L"exclude";
    case XFA_Element::ChoiceList:
      return L"choiceList";
    case XFA_Element::Level:
      return L"level";
    case XFA_Element::LabelPrinter:
      return L"labelPrinter";
    case XFA_Element::CalendarSymbols:
      return L"calendarSymbols";
    case XFA_Element::Para:
      return L"para";
    case XFA_Element::Part:
      return L"part";
    case XFA_Element::Pdfa:
      return L"pdfa";
    case XFA_Element::Filter:
      return L"filter";
    case XFA_Element::Present:
      return L"present";
    case XFA_Element::Pagination:
      return L"pagination";
    case XFA_Element::Encoding:
      return L"encoding";
    case XFA_Element::Event:
      return L"event";
    case XFA_Element::Whitespace:
      return L"whitespace";
    case XFA_Element::DefaultUi:
      return L"defaultUi";
    case XFA_Element::DataModel:
      return L"dataModel";
    case XFA_Element::Barcode:
      return L"barcode";
    case XFA_Element::TimePattern:
      return L"timePattern";
    case XFA_Element::BatchOutput:
      return L"batchOutput";
    case XFA_Element::Enforce:
      return L"enforce";
    case XFA_Element::CurrencySymbols:
      return L"currencySymbols";
    case XFA_Element::AddSilentPrint:
      return L"addSilentPrint";
    case XFA_Element::Rename:
      return L"rename";
    case XFA_Element::Operation:
      return L"operation";
    case XFA_Element::Typefaces:
      return L"typefaces";
    case XFA_Element::SubjectDNs:
      return L"subjectDNs";
    case XFA_Element::Issuers:
      return L"issuers";
    case XFA_Element::WsdlConnection:
      return L"wsdlConnection";
    case XFA_Element::Debug:
      return L"debug";
    case XFA_Element::Delta:
      return L"delta";
    case XFA_Element::EraNames:
      return L"eraNames";
    case XFA_Element::ModifyAnnots:
      return L"modifyAnnots";
    case XFA_Element::StartNode:
      return L"startNode";
    case XFA_Element::Button:
      return L"button";
    case XFA_Element::Format:
      return L"format";
    case XFA_Element::Border:
      return L"border";
    case XFA_Element::Area:
      return L"area";
    case XFA_Element::Hyphenation:
      return L"hyphenation";
    case XFA_Element::Text:
      return L"text";
    case XFA_Element::Time:
      return L"time";
    case XFA_Element::Type:
      return L"type";
    case XFA_Element::Overprint:
      return L"overprint";
    case XFA_Element::Certificates:
      return L"certificates";
    case XFA_Element::EncryptionMethods:
      return L"encryptionMethods";
    case XFA_Element::SetProperty:
      return L"setProperty";
    case XFA_Element::PrinterName:
      return L"printerName";
    case XFA_Element::StartPage:
      return L"startPage";
    case XFA_Element::PageOffset:
      return L"pageOffset";
    case XFA_Element::DateTime:
      return L"dateTime";
    case XFA_Element::Comb:
      return L"comb";
    case XFA_Element::Pattern:
      return L"pattern";
    case XFA_Element::IfEmpty:
      return L"ifEmpty";
    case XFA_Element::SuppressBanner:
      return L"suppressBanner";
    case XFA_Element::OutputBin:
      return L"outputBin";
    case XFA_Element::Field:
      return L"field";
    case XFA_Element::Agent:
      return L"agent";
    case XFA_Element::OutputXSL:
      return L"outputXSL";
    case XFA_Element::AdjustData:
      return L"adjustData";
    case XFA_Element::AutoSave:
      return L"autoSave";
    case XFA_Element::ContentArea:
      return L"contentArea";
    case XFA_Element::WsdlAddress:
      return L"wsdlAddress";
    case XFA_Element::Solid:
      return L"solid";
    case XFA_Element::DateTimeSymbols:
      return L"dateTimeSymbols";
    case XFA_Element::EncryptionLevel:
      return L"encryptionLevel";
    case XFA_Element::Edge:
      return L"edge";
    case XFA_Element::Stipple:
      return L"stipple";
    case XFA_Element::Attributes:
      return L"attributes";
    case XFA_Element::VersionControl:
      return L"versionControl";
    case XFA_Element::Meridiem:
      return L"meridiem";
    case XFA_Element::ExclGroup:
      return L"exclGroup";
    case XFA_Element::ToolTip:
      return L"toolTip";
    case XFA_Element::Compress:
      return L"compress";
    case XFA_Element::Reason:
      return L"reason";
    case XFA_Element::Execute:
      return L"execute";
    case XFA_Element::ContentCopy:
      return L"contentCopy";
    case XFA_Element::DateTimeEdit:
      return L"dateTimeEdit";
    case XFA_Element::Config:
      return L"config";
    case XFA_Element::Image:
      return L"image";
    case XFA_Element::SharpxHTML:
      return L"#xHTML";
    case XFA_Element::NumberOfCopies:
      return L"numberOfCopies";
    case XFA_Element::BehaviorOverride:
      return L"behaviorOverride";
    case XFA_Element::TimeStamp:
      return L"timeStamp";
    case XFA_Element::Month:
      return L"month";
    case XFA_Element::ViewerPreferences:
      return L"viewerPreferences";
    case XFA_Element::ScriptModel:
      return L"scriptModel";
    case XFA_Element::Decimal:
      return L"decimal";
    case XFA_Element::Subform:
      return L"subform";
    case XFA_Element::Select:
      return L"select";
    case XFA_Element::Window:
      return L"window";
    case XFA_Element::LocaleSet:
      return L"localeSet";
    case XFA_Element::Handler:
      return L"handler";
    case XFA_Element::Presence:
      return L"presence";
    case XFA_Element::Record:
      return L"record";
    case XFA_Element::Embed:
      return L"embed";
    case XFA_Element::Version:
      return L"version";
    case XFA_Element::Command:
      return L"command";
    case XFA_Element::Copies:
      return L"copies";
    case XFA_Element::Staple:
      return L"staple";
    case XFA_Element::SubmitFormat:
      return L"submitFormat";
    case XFA_Element::Boolean:
      return L"boolean";
    case XFA_Element::Message:
      return L"message";
    case XFA_Element::Output:
      return L"output";
    case XFA_Element::PsMap:
      return L"psMap";
    case XFA_Element::ExcludeNS:
      return L"excludeNS";
    case XFA_Element::Assist:
      return L"assist";
    case XFA_Element::Picture:
      return L"picture";
    case XFA_Element::Traversal:
      return L"traversal";
    case XFA_Element::SilentPrint:
      return L"silentPrint";
    case XFA_Element::WebClient:
      return L"webClient";
    case XFA_Element::Producer:
      return L"producer";
    case XFA_Element::Corner:
      return L"corner";
    case XFA_Element::MsgId:
      return L"msgId";
    case XFA_Element::Color:
      return L"color";
    case XFA_Element::Keep:
      return L"keep";
    case XFA_Element::Query:
      return L"query";
    case XFA_Element::Insert:
      return L"insert";
    case XFA_Element::ImageEdit:
      return L"imageEdit";
    case XFA_Element::Validate:
      return L"validate";
    case XFA_Element::DigestMethods:
      return L"digestMethods";
    case XFA_Element::NumberPatterns:
      return L"numberPatterns";
    case XFA_Element::PageSet:
      return L"pageSet";
    case XFA_Element::Integer:
      return L"integer";
    case XFA_Element::SoapAddress:
      return L"soapAddress";
    case XFA_Element::Equate:
      return L"equate";
    case XFA_Element::FormFieldFilling:
      return L"formFieldFilling";
    case XFA_Element::PageRange:
      return L"pageRange";
    case XFA_Element::Update:
      return L"update";
    case XFA_Element::ConnectString:
      return L"connectString";
    case XFA_Element::Mode:
      return L"mode";
    case XFA_Element::Layout:
      return L"layout";
    case XFA_Element::Sharpxml:
      return L"#xml";
    case XFA_Element::XsdConnection:
      return L"xsdConnection";
    case XFA_Element::Traverse:
      return L"traverse";
    case XFA_Element::Encodings:
      return L"encodings";
    case XFA_Element::Template:
      return L"template";
    case XFA_Element::Acrobat:
      return L"acrobat";
    case XFA_Element::ValidationMessaging:
      return L"validationMessaging";
    case XFA_Element::Signing:
      return L"signing";
    case XFA_Element::Script:
      return L"script";
    case XFA_Element::AddViewerPreferences:
      return L"addViewerPreferences";
    case XFA_Element::AlwaysEmbed:
      return L"alwaysEmbed";
    case XFA_Element::PasswordEdit:
      return L"passwordEdit";
    case XFA_Element::NumericEdit:
      return L"numericEdit";
    case XFA_Element::EncryptionMethod:
      return L"encryptionMethod";
    case XFA_Element::Change:
      return L"change";
    case XFA_Element::PageArea:
      return L"pageArea";
    case XFA_Element::SubmitUrl:
      return L"submitUrl";
    case XFA_Element::Oids:
      return L"oids";
    case XFA_Element::Signature:
      return L"signature";
    case XFA_Element::ADBE_JSConsole:
      return L"ADBE_JSConsole";
    case XFA_Element::Caption:
      return L"caption";
    case XFA_Element::Relevant:
      return L"relevant";
    case XFA_Element::FlipLabel:
      return L"flipLabel";
    case XFA_Element::ExData:
      return L"exData";
    case XFA_Element::DayNames:
      return L"dayNames";
    case XFA_Element::SoapAction:
      return L"soapAction";
    case XFA_Element::DefaultTypeface:
      return L"defaultTypeface";
    case XFA_Element::Manifest:
      return L"manifest";
    case XFA_Element::Overflow:
      return L"overflow";
    case XFA_Element::Linear:
      return L"linear";
    case XFA_Element::CurrencySymbol:
      return L"currencySymbol";
    case XFA_Element::Delete:
      return L"delete";
    case XFA_Element::Deltas:
      return L"deltas";
    case XFA_Element::DigestMethod:
      return L"digestMethod";
    case XFA_Element::InstanceManager:
      return L"instanceManager";
    case XFA_Element::EquateRange:
      return L"equateRange";
    case XFA_Element::Medium:
      return L"medium";
    case XFA_Element::TextEdit:
      return L"textEdit";
    case XFA_Element::TemplateCache:
      return L"templateCache";
    case XFA_Element::CompressObjectStream:
      return L"compressObjectStream";
    case XFA_Element::DataValue:
      return L"dataValue";
    case XFA_Element::AccessibleContent:
      return L"accessibleContent";
    case XFA_Element::IncludeXDPContent:
      return L"includeXDPContent";
    case XFA_Element::XmlConnection:
      return L"xmlConnection";
    case XFA_Element::ValidateApprovalSignatures:
      return L"validateApprovalSignatures";
    case XFA_Element::SignData:
      return L"signData";
    case XFA_Element::Packets:
      return L"packets";
    case XFA_Element::DatePattern:
      return L"datePattern";
    case XFA_Element::DuplexOption:
      return L"duplexOption";
    case XFA_Element::Base:
      return L"base";
    case XFA_Element::Bind:
      return L"bind";
    case XFA_Element::Compression:
      return L"compression";
    case XFA_Element::User:
      return L"user";
    case XFA_Element::Rectangle:
      return L"rectangle";
    case XFA_Element::EffectiveOutputPolicy:
      return L"effectiveOutputPolicy";
    case XFA_Element::ADBE_JSDebugger:
      return L"ADBE_JSDebugger";
    case XFA_Element::Acrobat7:
      return L"acrobat7";
    case XFA_Element::Interactive:
      return L"interactive";
    case XFA_Element::Locale:
      return L"locale";
    case XFA_Element::CurrentPage:
      return L"currentPage";
    case XFA_Element::Data:
      return L"data";
    case XFA_Element::Date:
      return L"date";
    case XFA_Element::Desc:
      return L"desc";
    case XFA_Element::Encrypt:
      return L"encrypt";
    case XFA_Element::Draw:
      return L"draw";
    case XFA_Element::Encryption:
      return L"encryption";
    case XFA_Element::MeridiemNames:
      return L"meridiemNames";
    case XFA_Element::Messaging:
      return L"messaging";
    case XFA_Element::Speak:
      return L"speak";
    case XFA_Element::DataGroup:
      return L"dataGroup";
    case XFA_Element::Common:
      return L"common";
    case XFA_Element::Sharptext:
      return L"#text";
    case XFA_Element::PaginationOverride:
      return L"paginationOverride";
    case XFA_Element::Reasons:
      return L"reasons";
    case XFA_Element::SignatureProperties:
      return L"signatureProperties";
    case XFA_Element::Threshold:
      return L"threshold";
    case XFA_Element::AppearanceFilter:
      return L"appearanceFilter";
    case XFA_Element::Fill:
      return L"fill";
    case XFA_Element::Font:
      return L"font";
    case XFA_Element::Form:
      return L"form";
    case XFA_Element::MediumInfo:
      return L"mediumInfo";
    case XFA_Element::Certificate:
      return L"certificate";
    case XFA_Element::Password:
      return L"password";
    case XFA_Element::RunScripts:
      return L"runScripts";
    case XFA_Element::Trace:
      return L"trace";
    case XFA_Element::Float:
      return L"float";
    case XFA_Element::RenderPolicy:
      return L"renderPolicy";
    case XFA_Element::Destination:
      return L"destination";
    case XFA_Element::Value:
      return L"value";
    case XFA_Element::Bookend:
      return L"bookend";
    case XFA_Element::ExObject:
      return L"exObject";
    case XFA_Element::OpenAction:
      return L"openAction";
    case XFA_Element::NeverEmbed:
      return L"neverEmbed";
    case XFA_Element::BindItems:
      return L"bindItems";
    case XFA_Element::Calculate:
      return L"calculate";
    case XFA_Element::Print:
      return L"print";
    case XFA_Element::Extras:
      return L"extras";
    case XFA_Element::Proto:
      return L"proto";
    case XFA_Element::DSigData:
      return L"dSigData";
    case XFA_Element::Creator:
      return L"creator";
    case XFA_Element::Connect:
      return L"connect";
    case XFA_Element::Permissions:
      return L"permissions";
    case XFA_Element::ConnectionSet:
      return L"connectionSet";
    case XFA_Element::Submit:
      return L"submit";
    case XFA_Element::Range:
      return L"range";
    case XFA_Element::Linearized:
      return L"linearized";
    case XFA_Element::Packet:
      return L"packet";
    case XFA_Element::RootElement:
      return L"rootElement";
    case XFA_Element::PlaintextMetadata:
      return L"plaintextMetadata";
    case XFA_Element::NumberSymbols:
      return L"numberSymbols";
    case XFA_Element::PrintHighQuality:
      return L"printHighQuality";
    case XFA_Element::Driver:
      return L"driver";
    case XFA_Element::IncrementalLoad:
      return L"incrementalLoad";
    case XFA_Element::SubjectDN:
      return L"subjectDN";
    case XFA_Element::CompressLogicalStructure:
      return L"compressLogicalStructure";
    case XFA_Element::IncrementalMerge:
      return L"incrementalMerge";
    case XFA_Element::Radial:
      return L"radial";
    case XFA_Element::Variables:
      return L"variables";
    case XFA_Element::TimePatterns:
      return L"timePatterns";
    case XFA_Element::EffectiveInputPolicy:
      return L"effectiveInputPolicy";
    case XFA_Element::NameAttr:
      return L"nameAttr";
    case XFA_Element::Conformance:
      return L"conformance";
    case XFA_Element::Transform:
      return L"transform";
    case XFA_Element::LockDocument:
      return L"lockDocument";
    case XFA_Element::BreakAfter:
      return L"breakAfter";
    case XFA_Element::Line:
      return L"line";
    case XFA_Element::Source:
      return L"source";
    case XFA_Element::Occur:
      return L"occur";
    case XFA_Element::PickTrayByPDFSize:
      return L"pickTrayByPDFSize";
    case XFA_Element::MonthNames:
      return L"monthNames";
    case XFA_Element::Severity:
      return L"severity";
    case XFA_Element::GroupParent:
      return L"groupParent";
    case XFA_Element::DocumentAssembly:
      return L"documentAssembly";
    case XFA_Element::NumberSymbol:
      return L"numberSymbol";
    case XFA_Element::Tagged:
      return L"tagged";
    case XFA_Element::Items:
      return L"items";

    default:
      NOTREACHED();
      break;
  }
  return L"";
}
#endif  // NDEBUG
