// 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 #include "third_party/base/ptr_util.h" #include "xfa/fxfa/parser/cxfa_accessiblecontent.h" #include "xfa/fxfa/parser/cxfa_acrobat.h" #include "xfa/fxfa/parser/cxfa_acrobat7.h" #include "xfa/fxfa/parser/cxfa_adbe_jsconsole.h" #include "xfa/fxfa/parser/cxfa_adbe_jsdebugger.h" #include "xfa/fxfa/parser/cxfa_addsilentprint.h" #include "xfa/fxfa/parser/cxfa_addviewerpreferences.h" #include "xfa/fxfa/parser/cxfa_adjustdata.h" #include "xfa/fxfa/parser/cxfa_adobeextensionlevel.h" #include "xfa/fxfa/parser/cxfa_agent.h" #include "xfa/fxfa/parser/cxfa_alwaysembed.h" #include "xfa/fxfa/parser/cxfa_amd.h" #include "xfa/fxfa/parser/cxfa_appearancefilter.h" #include "xfa/fxfa/parser/cxfa_arc.h" #include "xfa/fxfa/parser/cxfa_area.h" #include "xfa/fxfa/parser/cxfa_assist.h" #include "xfa/fxfa/parser/cxfa_attributes.h" #include "xfa/fxfa/parser/cxfa_autosave.h" #include "xfa/fxfa/parser/cxfa_barcode.h" #include "xfa/fxfa/parser/cxfa_base.h" #include "xfa/fxfa/parser/cxfa_batchoutput.h" #include "xfa/fxfa/parser/cxfa_behavioroverride.h" #include "xfa/fxfa/parser/cxfa_bind.h" #include "xfa/fxfa/parser/cxfa_binditems.h" #include "xfa/fxfa/parser/cxfa_bookend.h" #include "xfa/fxfa/parser/cxfa_boolean.h" #include "xfa/fxfa/parser/cxfa_border.h" #include "xfa/fxfa/parser/cxfa_break.h" #include "xfa/fxfa/parser/cxfa_breakafter.h" #include "xfa/fxfa/parser/cxfa_breakbefore.h" #include "xfa/fxfa/parser/cxfa_button.h" #include "xfa/fxfa/parser/cxfa_cache.h" #include "xfa/fxfa/parser/cxfa_calculate.h" #include "xfa/fxfa/parser/cxfa_calendarsymbols.h" #include "xfa/fxfa/parser/cxfa_caption.h" #include "xfa/fxfa/parser/cxfa_certificate.h" #include "xfa/fxfa/parser/cxfa_certificates.h" #include "xfa/fxfa/parser/cxfa_change.h" #include "xfa/fxfa/parser/cxfa_checkbutton.h" #include "xfa/fxfa/parser/cxfa_choicelist.h" #include "xfa/fxfa/parser/cxfa_color.h" #include "xfa/fxfa/parser/cxfa_comb.h" #include "xfa/fxfa/parser/cxfa_command.h" #include "xfa/fxfa/parser/cxfa_common.h" #include "xfa/fxfa/parser/cxfa_compress.h" #include "xfa/fxfa/parser/cxfa_compression.h" #include "xfa/fxfa/parser/cxfa_compresslogicalstructure.h" #include "xfa/fxfa/parser/cxfa_compressobjectstream.h" #include "xfa/fxfa/parser/cxfa_config.h" #include "xfa/fxfa/parser/cxfa_conformance.h" #include "xfa/fxfa/parser/cxfa_connect.h" #include "xfa/fxfa/parser/cxfa_connectionset.h" #include "xfa/fxfa/parser/cxfa_connectstring.h" #include "xfa/fxfa/parser/cxfa_contentarea.h" #include "xfa/fxfa/parser/cxfa_contentcopy.h" #include "xfa/fxfa/parser/cxfa_copies.h" #include "xfa/fxfa/parser/cxfa_corner.h" #include "xfa/fxfa/parser/cxfa_creator.h" #include "xfa/fxfa/parser/cxfa_currencysymbol.h" #include "xfa/fxfa/parser/cxfa_currencysymbols.h" #include "xfa/fxfa/parser/cxfa_currentpage.h" #include "xfa/fxfa/parser/cxfa_data.h" #include "xfa/fxfa/parser/cxfa_datagroup.h" #include "xfa/fxfa/parser/cxfa_datamodel.h" #include "xfa/fxfa/parser/cxfa_datavalue.h" #include "xfa/fxfa/parser/cxfa_datawindow.h" #include "xfa/fxfa/parser/cxfa_date.h" #include "xfa/fxfa/parser/cxfa_datepattern.h" #include "xfa/fxfa/parser/cxfa_datepatterns.h" #include "xfa/fxfa/parser/cxfa_datetime.h" #include "xfa/fxfa/parser/cxfa_datetimeedit.h" #include "xfa/fxfa/parser/cxfa_datetimesymbols.h" #include "xfa/fxfa/parser/cxfa_day.h" #include "xfa/fxfa/parser/cxfa_daynames.h" #include "xfa/fxfa/parser/cxfa_debug.h" #include "xfa/fxfa/parser/cxfa_decimal.h" #include "xfa/fxfa/parser/cxfa_defaulttypeface.h" #include "xfa/fxfa/parser/cxfa_defaultui.h" #include "xfa/fxfa/parser/cxfa_delete.h" #include "xfa/fxfa/parser/cxfa_delta.h" #include "xfa/fxfa/parser/cxfa_deltas.h" #include "xfa/fxfa/parser/cxfa_desc.h" #include "xfa/fxfa/parser/cxfa_destination.h" #include "xfa/fxfa/parser/cxfa_digestmethod.h" #include "xfa/fxfa/parser/cxfa_digestmethods.h" #include "xfa/fxfa/parser/cxfa_documentassembly.h" #include "xfa/fxfa/parser/cxfa_draw.h" #include "xfa/fxfa/parser/cxfa_driver.h" #include "xfa/fxfa/parser/cxfa_dsigdata.h" #include "xfa/fxfa/parser/cxfa_duplexoption.h" #include "xfa/fxfa/parser/cxfa_dynamicrender.h" #include "xfa/fxfa/parser/cxfa_edge.h" #include "xfa/fxfa/parser/cxfa_effectiveinputpolicy.h" #include "xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h" #include "xfa/fxfa/parser/cxfa_embed.h" #include "xfa/fxfa/parser/cxfa_encoding.h" #include "xfa/fxfa/parser/cxfa_encodings.h" #include "xfa/fxfa/parser/cxfa_encrypt.h" #include "xfa/fxfa/parser/cxfa_encryption.h" #include "xfa/fxfa/parser/cxfa_encryptionlevel.h" #include "xfa/fxfa/parser/cxfa_encryptionmethod.h" #include "xfa/fxfa/parser/cxfa_encryptionmethods.h" #include "xfa/fxfa/parser/cxfa_enforce.h" #include "xfa/fxfa/parser/cxfa_equate.h" #include "xfa/fxfa/parser/cxfa_equaterange.h" #include "xfa/fxfa/parser/cxfa_era.h" #include "xfa/fxfa/parser/cxfa_eranames.h" #include "xfa/fxfa/parser/cxfa_event.h" #include "xfa/fxfa/parser/cxfa_eventpseudomodel.h" #include "xfa/fxfa/parser/cxfa_exclgroup.h" #include "xfa/fxfa/parser/cxfa_exclude.h" #include "xfa/fxfa/parser/cxfa_excludens.h" #include "xfa/fxfa/parser/cxfa_exdata.h" #include "xfa/fxfa/parser/cxfa_execute.h" #include "xfa/fxfa/parser/cxfa_exobject.h" #include "xfa/fxfa/parser/cxfa_extras.h" #include "xfa/fxfa/parser/cxfa_field.h" #include "xfa/fxfa/parser/cxfa_fill.h" #include "xfa/fxfa/parser/cxfa_filter.h" #include "xfa/fxfa/parser/cxfa_fliplabel.h" #include "xfa/fxfa/parser/cxfa_float.h" #include "xfa/fxfa/parser/cxfa_font.h" #include "xfa/fxfa/parser/cxfa_fontinfo.h" #include "xfa/fxfa/parser/cxfa_form.h" #include "xfa/fxfa/parser/cxfa_format.h" #include "xfa/fxfa/parser/cxfa_formfieldfilling.h" #include "xfa/fxfa/parser/cxfa_groupparent.h" #include "xfa/fxfa/parser/cxfa_handler.h" #include "xfa/fxfa/parser/cxfa_hostpseudomodel.h" #include "xfa/fxfa/parser/cxfa_hyphenation.h" #include "xfa/fxfa/parser/cxfa_ifempty.h" #include "xfa/fxfa/parser/cxfa_image.h" #include "xfa/fxfa/parser/cxfa_imageedit.h" #include "xfa/fxfa/parser/cxfa_includexdpcontent.h" #include "xfa/fxfa/parser/cxfa_incrementalload.h" #include "xfa/fxfa/parser/cxfa_incrementalmerge.h" #include "xfa/fxfa/parser/cxfa_insert.h" #include "xfa/fxfa/parser/cxfa_instancemanager.h" #include "xfa/fxfa/parser/cxfa_integer.h" #include "xfa/fxfa/parser/cxfa_interactive.h" #include "xfa/fxfa/parser/cxfa_issuers.h" #include "xfa/fxfa/parser/cxfa_items.h" #include "xfa/fxfa/parser/cxfa_jog.h" #include "xfa/fxfa/parser/cxfa_keep.h" #include "xfa/fxfa/parser/cxfa_keyusage.h" #include "xfa/fxfa/parser/cxfa_labelprinter.h" #include "xfa/fxfa/parser/cxfa_layout.h" #include "xfa/fxfa/parser/cxfa_layoutpseudomodel.h" #include "xfa/fxfa/parser/cxfa_level.h" #include "xfa/fxfa/parser/cxfa_line.h" #include "xfa/fxfa/parser/cxfa_linear.h" #include "xfa/fxfa/parser/cxfa_linearized.h" #include "xfa/fxfa/parser/cxfa_list.h" #include "xfa/fxfa/parser/cxfa_locale.h" #include "xfa/fxfa/parser/cxfa_localeset.h" #include "xfa/fxfa/parser/cxfa_lockdocument.h" #include "xfa/fxfa/parser/cxfa_log.h" #include "xfa/fxfa/parser/cxfa_logpseudomodel.h" #include "xfa/fxfa/parser/cxfa_manifest.h" #include "xfa/fxfa/parser/cxfa_map.h" #include "xfa/fxfa/parser/cxfa_margin.h" #include "xfa/fxfa/parser/cxfa_mdp.h" #include "xfa/fxfa/parser/cxfa_medium.h" #include "xfa/fxfa/parser/cxfa_mediuminfo.h" #include "xfa/fxfa/parser/cxfa_meridiem.h" #include "xfa/fxfa/parser/cxfa_meridiemnames.h" #include "xfa/fxfa/parser/cxfa_message.h" #include "xfa/fxfa/parser/cxfa_messaging.h" #include "xfa/fxfa/parser/cxfa_mode.h" #include "xfa/fxfa/parser/cxfa_modifyannots.h" #include "xfa/fxfa/parser/cxfa_month.h" #include "xfa/fxfa/parser/cxfa_monthnames.h" #include "xfa/fxfa/parser/cxfa_msgid.h" #include "xfa/fxfa/parser/cxfa_nameattr.h" #include "xfa/fxfa/parser/cxfa_neverembed.h" #include "xfa/fxfa/parser/cxfa_node.h" #include "xfa/fxfa/parser/cxfa_numberofcopies.h" #include "xfa/fxfa/parser/cxfa_numberpattern.h" #include "xfa/fxfa/parser/cxfa_numberpatterns.h" #include "xfa/fxfa/parser/cxfa_numbersymbol.h" #include "xfa/fxfa/parser/cxfa_numbersymbols.h" #include "xfa/fxfa/parser/cxfa_numericedit.h" #include "xfa/fxfa/parser/cxfa_occur.h" #include "xfa/fxfa/parser/cxfa_oid.h" #include "xfa/fxfa/parser/cxfa_oids.h" #include "xfa/fxfa/parser/cxfa_openaction.h" #include "xfa/fxfa/parser/cxfa_operation.h" #include "xfa/fxfa/parser/cxfa_output.h" #include "xfa/fxfa/parser/cxfa_outputbin.h" #include "xfa/fxfa/parser/cxfa_outputxsl.h" #include "xfa/fxfa/parser/cxfa_overflow.h" #include "xfa/fxfa/parser/cxfa_overprint.h" #include "xfa/fxfa/parser/cxfa_packet.h" #include "xfa/fxfa/parser/cxfa_packets.h" #include "xfa/fxfa/parser/cxfa_pagearea.h" #include "xfa/fxfa/parser/cxfa_pageoffset.h" #include "xfa/fxfa/parser/cxfa_pagerange.h" #include "xfa/fxfa/parser/cxfa_pageset.h" #include "xfa/fxfa/parser/cxfa_pagination.h" #include "xfa/fxfa/parser/cxfa_paginationoverride.h" #include "xfa/fxfa/parser/cxfa_para.h" #include "xfa/fxfa/parser/cxfa_part.h" #include "xfa/fxfa/parser/cxfa_password.h" #include "xfa/fxfa/parser/cxfa_passwordedit.h" #include "xfa/fxfa/parser/cxfa_pattern.h" #include "xfa/fxfa/parser/cxfa_pcl.h" #include "xfa/fxfa/parser/cxfa_pdf.h" #include "xfa/fxfa/parser/cxfa_pdfa.h" #include "xfa/fxfa/parser/cxfa_permissions.h" #include "xfa/fxfa/parser/cxfa_picktraybypdfsize.h" #include "xfa/fxfa/parser/cxfa_picture.h" #include "xfa/fxfa/parser/cxfa_plaintextmetadata.h" #include "xfa/fxfa/parser/cxfa_presence.h" #include "xfa/fxfa/parser/cxfa_present.h" #include "xfa/fxfa/parser/cxfa_print.h" #include "xfa/fxfa/parser/cxfa_printername.h" #include "xfa/fxfa/parser/cxfa_printhighquality.h" #include "xfa/fxfa/parser/cxfa_printscaling.h" #include "xfa/fxfa/parser/cxfa_producer.h" #include "xfa/fxfa/parser/cxfa_proto.h" #include "xfa/fxfa/parser/cxfa_ps.h" #include "xfa/fxfa/parser/cxfa_psmap.h" #include "xfa/fxfa/parser/cxfa_query.h" #include "xfa/fxfa/parser/cxfa_radial.h" #include "xfa/fxfa/parser/cxfa_range.h" #include "xfa/fxfa/parser/cxfa_reason.h" #include "xfa/fxfa/parser/cxfa_reasons.h" #include "xfa/fxfa/parser/cxfa_record.h" #include "xfa/fxfa/parser/cxfa_recordset.h" #include "xfa/fxfa/parser/cxfa_rectangle.h" #include "xfa/fxfa/parser/cxfa_ref.h" #include "xfa/fxfa/parser/cxfa_relevant.h" #include "xfa/fxfa/parser/cxfa_rename.h" #include "xfa/fxfa/parser/cxfa_renderpolicy.h" #include "xfa/fxfa/parser/cxfa_rootelement.h" #include "xfa/fxfa/parser/cxfa_runscripts.h" #include "xfa/fxfa/parser/cxfa_script.h" #include "xfa/fxfa/parser/cxfa_scriptmodel.h" #include "xfa/fxfa/parser/cxfa_select.h" #include "xfa/fxfa/parser/cxfa_setproperty.h" #include "xfa/fxfa/parser/cxfa_severity.h" #include "xfa/fxfa/parser/cxfa_sharptext.h" #include "xfa/fxfa/parser/cxfa_sharpxhtml.h" #include "xfa/fxfa/parser/cxfa_sharpxml.h" #include "xfa/fxfa/parser/cxfa_signature.h" #include "xfa/fxfa/parser/cxfa_signatureproperties.h" #include "xfa/fxfa/parser/cxfa_signaturepseudomodel.h" #include "xfa/fxfa/parser/cxfa_signdata.h" #include "xfa/fxfa/parser/cxfa_signing.h" #include "xfa/fxfa/parser/cxfa_silentprint.h" #include "xfa/fxfa/parser/cxfa_soapaction.h" #include "xfa/fxfa/parser/cxfa_soapaddress.h" #include "xfa/fxfa/parser/cxfa_solid.h" #include "xfa/fxfa/parser/cxfa_source.h" #include "xfa/fxfa/parser/cxfa_sourceset.h" #include "xfa/fxfa/parser/cxfa_speak.h" #include "xfa/fxfa/parser/cxfa_staple.h" #include "xfa/fxfa/parser/cxfa_startnode.h" #include "xfa/fxfa/parser/cxfa_startpage.h" #include "xfa/fxfa/parser/cxfa_stipple.h" #include "xfa/fxfa/parser/cxfa_subform.h" #include "xfa/fxfa/parser/cxfa_subformset.h" #include "xfa/fxfa/parser/cxfa_subjectdn.h" #include "xfa/fxfa/parser/cxfa_subjectdns.h" #include "xfa/fxfa/parser/cxfa_submit.h" #include "xfa/fxfa/parser/cxfa_submitformat.h" #include "xfa/fxfa/parser/cxfa_submiturl.h" #include "xfa/fxfa/parser/cxfa_subsetbelow.h" #include "xfa/fxfa/parser/cxfa_suppressbanner.h" #include "xfa/fxfa/parser/cxfa_tagged.h" #include "xfa/fxfa/parser/cxfa_template.h" #include "xfa/fxfa/parser/cxfa_templatecache.h" #include "xfa/fxfa/parser/cxfa_text.h" #include "xfa/fxfa/parser/cxfa_textedit.h" #include "xfa/fxfa/parser/cxfa_threshold.h" #include "xfa/fxfa/parser/cxfa_time.h" #include "xfa/fxfa/parser/cxfa_timepattern.h" #include "xfa/fxfa/parser/cxfa_timepatterns.h" #include "xfa/fxfa/parser/cxfa_timestamp.h" #include "xfa/fxfa/parser/cxfa_to.h" #include "xfa/fxfa/parser/cxfa_tooltip.h" #include "xfa/fxfa/parser/cxfa_trace.h" #include "xfa/fxfa/parser/cxfa_transform.h" #include "xfa/fxfa/parser/cxfa_traversal.h" #include "xfa/fxfa/parser/cxfa_traverse.h" #include "xfa/fxfa/parser/cxfa_type.h" #include "xfa/fxfa/parser/cxfa_typeface.h" #include "xfa/fxfa/parser/cxfa_typefaces.h" #include "xfa/fxfa/parser/cxfa_ui.h" #include "xfa/fxfa/parser/cxfa_update.h" #include "xfa/fxfa/parser/cxfa_uri.h" #include "xfa/fxfa/parser/cxfa_user.h" #include "xfa/fxfa/parser/cxfa_validate.h" #include "xfa/fxfa/parser/cxfa_validateapprovalsignatures.h" #include "xfa/fxfa/parser/cxfa_validationmessaging.h" #include "xfa/fxfa/parser/cxfa_value.h" #include "xfa/fxfa/parser/cxfa_variables.h" #include "xfa/fxfa/parser/cxfa_version.h" #include "xfa/fxfa/parser/cxfa_versioncontrol.h" #include "xfa/fxfa/parser/cxfa_viewerpreferences.h" #include "xfa/fxfa/parser/cxfa_webclient.h" #include "xfa/fxfa/parser/cxfa_whitespace.h" #include "xfa/fxfa/parser/cxfa_window.h" #include "xfa/fxfa/parser/cxfa_wsdladdress.h" #include "xfa/fxfa/parser/cxfa_wsdlconnection.h" #include "xfa/fxfa/parser/cxfa_xdc.h" #include "xfa/fxfa/parser/cxfa_xdp.h" #include "xfa/fxfa/parser/cxfa_xfa.h" #include "xfa/fxfa/parser/cxfa_xmlconnection.h" #include "xfa/fxfa/parser/cxfa_xsdconnection.h" #include "xfa/fxfa/parser/cxfa_xsl.h" #include "xfa/fxfa/parser/cxfa_zpl.h" namespace { struct ElementNameInfo { uint32_t hash; XFA_Element element; } ElementNameToEnum[] = { {0x23ee3 /* ps */, XFA_Element::Ps}, {0x25363 /* to */, XFA_Element::To}, {0x2587e /* ui */, XFA_Element::Ui}, {0x1c648b /* recordSet */, XFA_Element::RecordSet}, {0x171428f /* subsetBelow */, XFA_Element::SubsetBelow}, {0x1a0776a /* subformSet */, XFA_Element::SubformSet}, {0x2340d70 /* adobeExtensionLevel */, XFA_Element::AdobeExtensionLevel}, {0x2c1c7f1 /* typeface */, XFA_Element::Typeface}, {0x5518c25 /* break */, XFA_Element::Break}, {0x5fff523 /* fontInfo */, XFA_Element::FontInfo}, {0x653a227 /* numberPattern */, XFA_Element::NumberPattern}, {0x65b4a05 /* dynamicRender */, XFA_Element::DynamicRender}, {0x7e4362e /* printScaling */, XFA_Element::PrintScaling}, {0x7fe6d3a /* checkButton */, XFA_Element::CheckButton}, {0x80cf58f /* datePatterns */, XFA_Element::DatePatterns}, {0x811929d /* sourceSet */, XFA_Element::SourceSet}, {0x9f9d612 /* amd */, XFA_Element::Amd}, {0x9f9efb6 /* arc */, XFA_Element::Arc}, {0xa48835e /* day */, XFA_Element::Day}, {0xa6328b8 /* era */, XFA_Element::Era}, {0xae6a0a0 /* jog */, XFA_Element::Jog}, {0xb1b3d22 /* log */, XFA_Element::Log}, {0xb35439e /* map */, XFA_Element::Map}, {0xb355301 /* mdp */, XFA_Element::Mdp}, {0xb420438 /* breakBefore */, XFA_Element::BreakBefore}, {0xb6a091c /* oid */, XFA_Element::Oid}, {0xb84389f /* pcl */, XFA_Element::Pcl}, {0xb843dba /* pdf */, XFA_Element::Pdf}, {0xbb8df5d /* ref */, XFA_Element::Ref}, {0xc080cd0 /* uri */, XFA_Element::Uri}, {0xc56afbf /* xdc */, XFA_Element::Xdc}, {0xc56afcc /* xdp */, XFA_Element::Xdp}, {0xc56b9ff /* xfa */, XFA_Element::Xfa}, {0xc56fcb7 /* xsl */, XFA_Element::Xsl}, {0xc8b89d6 /* zpl */, XFA_Element::Zpl}, {0xc9bae94 /* cache */, XFA_Element::Cache}, {0xcb016be /* margin */, XFA_Element::Margin}, {0xe1378fe /* keyUsage */, XFA_Element::KeyUsage}, {0xfe3596a /* exclude */, XFA_Element::Exclude}, {0x10395ac7 /* choiceList */, XFA_Element::ChoiceList}, {0x1059ec18 /* level */, XFA_Element::Level}, {0x10874804 /* labelPrinter */, XFA_Element::LabelPrinter}, {0x10c40e03 /* calendarSymbols */, XFA_Element::CalendarSymbols}, {0x10f1ea24 /* para */, XFA_Element::Para}, {0x10f1ea37 /* part */, XFA_Element::Part}, {0x1140975b /* pdfa */, XFA_Element::Pdfa}, {0x1154efe6 /* filter */, XFA_Element::Filter}, {0x13f41de1 /* present */, XFA_Element::Present}, {0x1827e6ea /* pagination */, XFA_Element::Pagination}, {0x18463707 /* encoding */, XFA_Element::Encoding}, {0x185e41e2 /* event */, XFA_Element::Event}, {0x1adb142d /* whitespace */, XFA_Element::Whitespace}, {0x1f3f64c3 /* defaultUi */, XFA_Element::DefaultUi}, {0x204e87cb /* dataModel */, XFA_Element::DataModel}, {0x2057b350 /* barcode */, XFA_Element::Barcode}, {0x20596bad /* timePattern */, XFA_Element::TimePattern}, {0x210b74d3 /* batchOutput */, XFA_Element::BatchOutput}, {0x212ff0e2 /* enforce */, XFA_Element::Enforce}, {0x21d351b4 /* currencySymbols */, XFA_Element::CurrencySymbols}, {0x21db83c5 /* addSilentPrint */, XFA_Element::AddSilentPrint}, {0x22266258 /* rename */, XFA_Element::Rename}, {0x226ca8f1 /* operation */, XFA_Element::Operation}, {0x23e27b84 /* typefaces */, XFA_Element::Typefaces}, {0x23f4aa75 /* subjectDNs */, XFA_Element::SubjectDNs}, {0x240d5e8e /* issuers */, XFA_Element::Issuers}, {0x2457a033 /* signaturePseudoModel */, XFA_Element::SignaturePseudoModel}, {0x24a52f8a /* wsdlConnection */, XFA_Element::WsdlConnection}, {0x254ebd07 /* debug */, XFA_Element::Debug}, {0x2655c66a /* delta */, XFA_Element::Delta}, {0x26c0daec /* eraNames */, XFA_Element::EraNames}, {0x273ab03b /* modifyAnnots */, XFA_Element::ModifyAnnots}, {0x27875bb4 /* startNode */, XFA_Element::StartNode}, {0x285d0dbc /* button */, XFA_Element::Button}, {0x28dee6e9 /* format */, XFA_Element::Format}, {0x2a23349e /* border */, XFA_Element::Border}, {0x2ae67f19 /* area */, XFA_Element::Area}, {0x2c3c4c67 /* hyphenation */, XFA_Element::Hyphenation}, {0x2d08af85 /* text */, XFA_Element::Text}, {0x2d71b00f /* time */, XFA_Element::Time}, {0x2f16a382 /* type */, XFA_Element::Type}, {0x2fe057e9 /* overprint */, XFA_Element::Overprint}, {0x302aee16 /* certificates */, XFA_Element::Certificates}, {0x30b227df /* encryptionMethods */, XFA_Element::EncryptionMethods}, {0x32b900d1 /* setProperty */, XFA_Element::SetProperty}, {0x337d9e45 /* printerName */, XFA_Element::PrinterName}, {0x33edda4b /* startPage */, XFA_Element::StartPage}, {0x381943e4 /* pageOffset */, XFA_Element::PageOffset}, {0x382106cd /* dateTime */, XFA_Element::DateTime}, {0x386e7421 /* comb */, XFA_Element::Comb}, {0x390acd9e /* pattern */, XFA_Element::Pattern}, {0x3942163e /* ifEmpty */, XFA_Element::IfEmpty}, {0x39944a7b /* suppressBanner */, XFA_Element::SuppressBanner}, {0x3b3c3dca /* outputBin */, XFA_Element::OutputBin}, {0x3b8a4024 /* field */, XFA_Element::Field}, {0x3c15352f /* agent */, XFA_Element::Agent}, {0x3d7e8668 /* outputXSL */, XFA_Element::OutputXSL}, {0x3e1c91c5 /* adjustData */, XFA_Element::AdjustData}, {0x3e7a9408 /* autoSave */, XFA_Element::AutoSave}, {0x3ecead94 /* contentArea */, XFA_Element::ContentArea}, {0x3ef334e3 /* eventPseudoModel */, XFA_Element::EventPseudoModel}, {0x3fadaec0 /* wsdlAddress */, XFA_Element::WsdlAddress}, {0x40623b5b /* solid */, XFA_Element::Solid}, {0x41f0bd76 /* dateTimeSymbols */, XFA_Element::DateTimeSymbols}, {0x444e7523 /* encryptionLevel */, XFA_Element::EncryptionLevel}, {0x4523af55 /* edge */, XFA_Element::Edge}, {0x45d5e3c1 /* stipple */, XFA_Element::Stipple}, {0x475e4e87 /* attributes */, XFA_Element::Attributes}, {0x487a8c87 /* versionControl */, XFA_Element::VersionControl}, {0x48e5248c /* meridiem */, XFA_Element::Meridiem}, {0x48f36719 /* exclGroup */, XFA_Element::ExclGroup}, {0x4977356b /* toolTip */, XFA_Element::ToolTip}, {0x499afecc /* compress */, XFA_Element::Compress}, {0x4a0c4948 /* reason */, XFA_Element::Reason}, {0x4bdcce13 /* execute */, XFA_Element::Execute}, {0x4c56b216 /* contentCopy */, XFA_Element::ContentCopy}, {0x4cc176d3 /* dateTimeEdit */, XFA_Element::DateTimeEdit}, {0x4e1e39b6 /* config */, XFA_Element::Config}, {0x4e2d6083 /* image */, XFA_Element::Image}, {0x4e814150 /* #xHTML */, XFA_Element::SharpxHTML}, {0x4f2388c1 /* numberOfCopies */, XFA_Element::NumberOfCopies}, {0x4f512e30 /* behaviorOverride */, XFA_Element::BehaviorOverride}, {0x4fdc3454 /* timeStamp */, XFA_Element::TimeStamp}, {0x51d90546 /* month */, XFA_Element::Month}, {0x523437e4 /* viewerPreferences */, XFA_Element::ViewerPreferences}, {0x53abc1c6 /* scriptModel */, XFA_Element::ScriptModel}, {0x54034c2f /* decimal */, XFA_Element::Decimal}, {0x54202c9e /* subform */, XFA_Element::Subform}, {0x542c7300 /* select */, XFA_Element::Select}, {0x5436d198 /* window */, XFA_Element::Window}, {0x5473b6dc /* localeSet */, XFA_Element::LocaleSet}, {0x56ae179e /* handler */, XFA_Element::Handler}, {0x5700bd5f /* hostPseudoModel */, XFA_Element::HostPseudoModel}, {0x570ce835 /* presence */, XFA_Element::Presence}, {0x5779d65f /* record */, XFA_Element::Record}, {0x59c8f27d /* embed */, XFA_Element::Embed}, {0x5a50e9e6 /* version */, XFA_Element::Version}, {0x5b8383df /* command */, XFA_Element::Command}, {0x5c43c6c3 /* copies */, XFA_Element::Copies}, {0x5e0c2c49 /* staple */, XFA_Element::Staple}, {0x5e5083dd /* submitFormat */, XFA_Element::SubmitFormat}, {0x5e8c5d20 /* boolean */, XFA_Element::Boolean}, {0x60490a85 /* message */, XFA_Element::Message}, {0x60d4c8b1 /* output */, XFA_Element::Output}, {0x61810081 /* psMap */, XFA_Element::PsMap}, {0x62bd904b /* excludeNS */, XFA_Element::ExcludeNS}, {0x669d4f77 /* assist */, XFA_Element::Assist}, {0x67334a1c /* picture */, XFA_Element::Picture}, {0x67fe7334 /* traversal */, XFA_Element::Traversal}, {0x6894589c /* silentPrint */, XFA_Element::SilentPrint}, {0x68a16bbd /* webClient */, XFA_Element::WebClient}, {0x69f115df /* layoutPseudoModel */, XFA_Element::LayoutPseudoModel}, {0x6a4bc084 /* producer */, XFA_Element::Producer}, {0x6a9e04c9 /* corner */, XFA_Element::Corner}, {0x6ccd7274 /* msgId */, XFA_Element::MsgId}, {0x6e67921f /* color */, XFA_Element::Color}, {0x6ec217a5 /* keep */, XFA_Element::Keep}, {0x6eef1116 /* query */, XFA_Element::Query}, {0x7033bfd5 /* insert */, XFA_Element::Insert}, {0x704af389 /* imageEdit */, XFA_Element::ImageEdit}, {0x7233018a /* validate */, XFA_Element::Validate}, {0x72ba47b4 /* digestMethods */, XFA_Element::DigestMethods}, {0x72f2aa7a /* numberPatterns */, XFA_Element::NumberPatterns}, {0x74caed29 /* pageSet */, XFA_Element::PageSet}, {0x7568e6ae /* integer */, XFA_Element::Integer}, {0x76182db9 /* soapAddress */, XFA_Element::SoapAddress}, {0x773146c5 /* equate */, XFA_Element::Equate}, {0x77d449dd /* formFieldFilling */, XFA_Element::FormFieldFilling}, {0x7889d68a /* pageRange */, XFA_Element::PageRange}, {0x7baca2e3 /* update */, XFA_Element::Update}, {0x7ce89001 /* connectString */, XFA_Element::ConnectString}, {0x7d9fd7c5 /* mode */, XFA_Element::Mode}, {0x7e7e845e /* layout */, XFA_Element::Layout}, {0x7e845c34 /* #xml */, XFA_Element::Sharpxml}, {0x7fb341df /* xsdConnection */, XFA_Element::XsdConnection}, {0x7ffb51cc /* traverse */, XFA_Element::Traverse}, {0x80203b5a /* encodings */, XFA_Element::Encodings}, {0x803550fc /* template */, XFA_Element::Template}, {0x803d5bbc /* acrobat */, XFA_Element::Acrobat}, {0x821d6569 /* validationMessaging */, XFA_Element::ValidationMessaging}, {0x830e688f /* signing */, XFA_Element::Signing}, {0x83a550d2 /* dataWindow */, XFA_Element::DataWindow}, {0x83dab9f5 /* script */, XFA_Element::Script}, {0x8411ebcd /* addViewerPreferences */, XFA_Element::AddViewerPreferences}, {0x8777642e /* alwaysEmbed */, XFA_Element::AlwaysEmbed}, {0x877a6b39 /* passwordEdit */, XFA_Element::PasswordEdit}, {0x87e84c99 /* numericEdit */, XFA_Element::NumericEdit}, {0x8852cdec /* encryptionMethod */, XFA_Element::EncryptionMethod}, {0x891f4606 /* change */, XFA_Element::Change}, {0x89939f36 /* pageArea */, XFA_Element::PageArea}, {0x8a9d6247 /* submitUrl */, XFA_Element::SubmitUrl}, {0x8ad8b90f /* oids */, XFA_Element::Oids}, {0x8b036f32 /* signature */, XFA_Element::Signature}, {0x8b128efb /* ADBE_JSConsole */, XFA_Element::ADBE_JSConsole}, {0x8bcfe96e /* caption */, XFA_Element::Caption}, {0x8e1c2921 /* relevant */, XFA_Element::Relevant}, {0x8e3f0a4b /* flipLabel */, XFA_Element::FlipLabel}, {0x900280b7 /* exData */, XFA_Element::ExData}, {0x91e80352 /* dayNames */, XFA_Element::DayNames}, {0x93113b11 /* soapAction */, XFA_Element::SoapAction}, {0x938b09f6 /* defaultTypeface */, XFA_Element::DefaultTypeface}, {0x95b37897 /* manifest */, XFA_Element::Manifest}, {0x97b76b54 /* overflow */, XFA_Element::Overflow}, {0x9a57861b /* linear */, XFA_Element::Linear}, {0x9ad5a821 /* currencySymbol */, XFA_Element::CurrencySymbol}, {0x9c6471b3 /* delete */, XFA_Element::Delete}, {0x9deea61d /* deltas */, XFA_Element::Deltas}, {0x9e67de21 /* digestMethod */, XFA_Element::DigestMethod}, {0x9f3e9510 /* instanceManager */, XFA_Element::InstanceManager}, {0xa0799892 /* equateRange */, XFA_Element::EquateRange}, {0xa084a381 /* medium */, XFA_Element::Medium}, {0xa1211b8b /* textEdit */, XFA_Element::TextEdit}, {0xa17008f0 /* templateCache */, XFA_Element::TemplateCache}, {0xa4f7b88f /* compressObjectStream */, XFA_Element::CompressObjectStream}, {0xa65f5d17 /* dataValue */, XFA_Element::DataValue}, {0xa6caaa89 /* accessibleContent */, XFA_Element::AccessibleContent}, {0xa94cc00b /* includeXDPContent */, XFA_Element::IncludeXDPContent}, {0xa9b081a1 /* xmlConnection */, XFA_Element::XmlConnection}, {0xab2a3b74 /* validateApprovalSignatures */, XFA_Element::ValidateApprovalSignatures}, {0xab8c5a2b /* signData */, XFA_Element::SignData}, {0xabaa2ceb /* packets */, XFA_Element::Packets}, {0xadba359c /* datePattern */, XFA_Element::DatePattern}, {0xae222b2b /* duplexOption */, XFA_Element::DuplexOption}, {0xb012effb /* base */, XFA_Element::Base}, {0xb0e5485d /* bind */, XFA_Element::Bind}, {0xb45d61b2 /* compression */, XFA_Element::Compression}, {0xb563f0ff /* user */, XFA_Element::User}, {0xb5848ad5 /* rectangle */, XFA_Element::Rectangle}, {0xb6dacb72 /* effectiveOutputPolicy */, XFA_Element::EffectiveOutputPolicy}, {0xb7d7654d /* ADBE_JSDebugger */, XFA_Element::ADBE_JSDebugger}, {0xbab37f73 /* acrobat7 */, XFA_Element::Acrobat7}, {0xbc70081e /* interactive */, XFA_Element::Interactive}, {0xbc8fa350 /* locale */, XFA_Element::Locale}, {0xbcd44940 /* currentPage */, XFA_Element::CurrentPage}, {0xbde9abda /* data */, XFA_Element::Data}, {0xbde9abde /* date */, XFA_Element::Date}, {0xbe52dfbf /* desc */, XFA_Element::Desc}, {0xbf4b6405 /* encrypt */, XFA_Element::Encrypt}, {0xbfa87cce /* draw */, XFA_Element::Draw}, {0xc181ff4b /* encryption */, XFA_Element::Encryption}, {0xc1970f40 /* meridiemNames */, XFA_Element::MeridiemNames}, {0xc5ad9f5e /* messaging */, XFA_Element::Messaging}, {0xc69549f4 /* speak */, XFA_Element::Speak}, {0xc7743dc7 /* dataGroup */, XFA_Element::DataGroup}, {0xc7eb20e9 /* common */, XFA_Element::Common}, {0xc85d4528 /* #text */, XFA_Element::Sharptext}, {0xc861556a /* paginationOverride */, XFA_Element::PaginationOverride}, {0xc903dabb /* reasons */, XFA_Element::Reasons}, {0xc9a8127f /* signatureProperties */, XFA_Element::SignatureProperties}, {0xca010c2d /* threshold */, XFA_Element::Threshold}, {0xcb4c5e96 /* appearanceFilter */, XFA_Element::AppearanceFilter}, {0xcc92aba7 /* fill */, XFA_Element::Fill}, {0xcd308b77 /* font */, XFA_Element::Font}, {0xcd309ff4 /* form */, XFA_Element::Form}, {0xcebcca2d /* mediumInfo */, XFA_Element::MediumInfo}, {0xcfe0d643 /* certificate */, XFA_Element::Certificate}, {0xd012c033 /* password */, XFA_Element::Password}, {0xd01604bd /* runScripts */, XFA_Element::RunScripts}, {0xd1227e6f /* trace */, XFA_Element::Trace}, {0xd1532876 /* float */, XFA_Element::Float}, {0xd17a6c30 /* renderPolicy */, XFA_Element::RenderPolicy}, {0xd4bf6823 /* logPseudoModel */, XFA_Element::LogPseudoModel}, {0xd58aa962 /* destination */, XFA_Element::Destination}, {0xd6e27f1d /* value */, XFA_Element::Value}, {0xd7a14462 /* bookend */, XFA_Element::Bookend}, {0xd8c31254 /* exObject */, XFA_Element::ExObject}, {0xda6a8590 /* openAction */, XFA_Element::OpenAction}, {0xdab4fb7d /* neverEmbed */, XFA_Element::NeverEmbed}, {0xdb98475f /* bindItems */, XFA_Element::BindItems}, {0xdbfbe02e /* calculate */, XFA_Element::Calculate}, {0xdd7676ed /* print */, XFA_Element::Print}, {0xdde273d7 /* extras */, XFA_Element::Extras}, {0xde146b34 /* proto */, XFA_Element::Proto}, {0xdf059321 /* dSigData */, XFA_Element::DSigData}, {0xdfccf030 /* creator */, XFA_Element::Creator}, {0xdff78c6a /* connect */, XFA_Element::Connect}, {0xe11a2cbc /* permissions */, XFA_Element::Permissions}, {0xe14c801c /* connectionSet */, XFA_Element::ConnectionSet}, {0xe1c83a14 /* submit */, XFA_Element::Submit}, {0xe29821cd /* range */, XFA_Element::Range}, {0xe38d83c7 /* linearized */, XFA_Element::Linearized}, {0xe3aa2578 /* packet */, XFA_Element::Packet}, {0xe3aa860e /* rootElement */, XFA_Element::RootElement}, {0xe3e553fa /* plaintextMetadata */, XFA_Element::PlaintextMetadata}, {0xe3e6e4f2 /* numberSymbols */, XFA_Element::NumberSymbols}, {0xe3f067f6 /* printHighQuality */, XFA_Element::PrintHighQuality}, {0xe3fd078c /* driver */, XFA_Element::Driver}, {0xe48b34f2 /* incrementalLoad */, XFA_Element::IncrementalLoad}, {0xe550e7c2 /* subjectDN */, XFA_Element::SubjectDN}, {0xe6669a78 /* compressLogicalStructure */, XFA_Element::CompressLogicalStructure}, {0xe7a7ea02 /* incrementalMerge */, XFA_Element::IncrementalMerge}, {0xe948530d /* radial */, XFA_Element::Radial}, {0xea8d6999 /* variables */, XFA_Element::Variables}, {0xeaa142c0 /* timePatterns */, XFA_Element::TimePatterns}, {0xeb943a71 /* effectiveInputPolicy */, XFA_Element::EffectiveInputPolicy}, {0xef04a2bc /* nameAttr */, XFA_Element::NameAttr}, {0xf07222ab /* conformance */, XFA_Element::Conformance}, {0xf0aaaadc /* transform */, XFA_Element::Transform}, {0xf1433e88 /* lockDocument */, XFA_Element::LockDocument}, {0xf54eb997 /* breakAfter */, XFA_Element::BreakAfter}, {0xf616da28 /* line */, XFA_Element::Line}, {0xf616f3dc /* list */, XFA_Element::List}, {0xf7055fb1 /* source */, XFA_Element::Source}, {0xf7eebe1c /* occur */, XFA_Element::Occur}, {0xf8d10d97 /* pickTrayByPDFSize */, XFA_Element::PickTrayByPDFSize}, {0xf8f19e3a /* monthNames */, XFA_Element::MonthNames}, {0xf984149b /* severity */, XFA_Element::Severity}, {0xf9bcb037 /* groupParent */, XFA_Element::GroupParent}, {0xfbc42fff /* documentAssembly */, XFA_Element::DocumentAssembly}, {0xfc78159f /* numberSymbol */, XFA_Element::NumberSymbol}, {0xfcbd606c /* tagged */, XFA_Element::Tagged}, {0xff063802 /* items */, XFA_Element::Items}, }; } // namespace // static XFA_Element CXFA_Node::NameToElement(const WideString& name) { uint32_t hash = FX_HashCode_GetW(name.AsStringView(), false); auto* elem = std::lower_bound( std::begin(ElementNameToEnum), std::end(ElementNameToEnum), hash, [](const ElementNameInfo& a, uint32_t hash) { return a.hash < hash; }); if (elem && elem->hash == hash) return elem->element; return XFA_Element::Unknown; } // static std::unique_ptr CXFA_Node::Create(CXFA_Document* doc, XFA_Element element, XFA_XDPPACKET packet) { ASSERT(element != XFA_Element::NodeList); std::unique_ptr node; switch (element) { case XFA_Element::Ps: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::To: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Ui: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::RecordSet: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SubsetBelow: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SubformSet: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::AdobeExtensionLevel: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Typeface: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Break: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::FontInfo: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::NumberPattern: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DynamicRender: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PrintScaling: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::CheckButton: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DatePatterns: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SourceSet: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Amd: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Arc: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Day: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Era: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Jog: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Log: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Map: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Mdp: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::BreakBefore: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Oid: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Pcl: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Pdf: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Ref: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Uri: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Xdc: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Xdp: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Xfa: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Xsl: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Zpl: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Cache: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Margin: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::KeyUsage: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Exclude: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ChoiceList: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Level: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::LabelPrinter: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::CalendarSymbols: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Para: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Part: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Pdfa: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Filter: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Present: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Pagination: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Encoding: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Event: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Whitespace: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DefaultUi: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DataModel: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Barcode: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::TimePattern: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::BatchOutput: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Enforce: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::CurrencySymbols: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::AddSilentPrint: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Rename: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Operation: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Typefaces: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SubjectDNs: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Issuers: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SignaturePseudoModel: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::WsdlConnection: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Debug: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Delta: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::EraNames: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ModifyAnnots: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::StartNode: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Button: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Format: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Border: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Area: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Hyphenation: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Text: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Time: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Type: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Overprint: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Certificates: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::EncryptionMethods: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SetProperty: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PrinterName: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::StartPage: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PageOffset: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DateTime: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Comb: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Pattern: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::IfEmpty: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SuppressBanner: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::OutputBin: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Field: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Agent: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::OutputXSL: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::AdjustData: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::AutoSave: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ContentArea: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::EventPseudoModel: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::WsdlAddress: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Solid: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DateTimeSymbols: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::EncryptionLevel: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Edge: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Stipple: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Attributes: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::VersionControl: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Meridiem: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ExclGroup: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ToolTip: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Compress: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Reason: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Execute: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ContentCopy: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DateTimeEdit: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Config: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Image: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SharpxHTML: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::NumberOfCopies: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::BehaviorOverride: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::TimeStamp: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Month: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ViewerPreferences: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ScriptModel: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Decimal: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Subform: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Select: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Window: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::LocaleSet: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Handler: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::HostPseudoModel: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Presence: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Record: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Embed: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Version: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Command: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Copies: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Staple: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SubmitFormat: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Boolean: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Message: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Output: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PsMap: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ExcludeNS: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Assist: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Picture: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Traversal: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SilentPrint: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::WebClient: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::LayoutPseudoModel: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Producer: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Corner: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::MsgId: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Color: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Keep: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Query: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Insert: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ImageEdit: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Validate: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DigestMethods: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::NumberPatterns: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PageSet: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Integer: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SoapAddress: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Equate: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::FormFieldFilling: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PageRange: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Update: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ConnectString: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Mode: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Layout: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Sharpxml: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::XsdConnection: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Traverse: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Encodings: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Template: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Acrobat: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ValidationMessaging: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Signing: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DataWindow: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Script: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::AddViewerPreferences: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::AlwaysEmbed: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PasswordEdit: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::NumericEdit: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::EncryptionMethod: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Change: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PageArea: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SubmitUrl: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Oids: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Signature: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ADBE_JSConsole: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Caption: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Relevant: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::FlipLabel: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ExData: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DayNames: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SoapAction: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DefaultTypeface: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Manifest: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Overflow: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Linear: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::CurrencySymbol: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Delete: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Deltas: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DigestMethod: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::InstanceManager: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::EquateRange: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Medium: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::TextEdit: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::TemplateCache: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::CompressObjectStream: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DataValue: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::AccessibleContent: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::IncludeXDPContent: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::XmlConnection: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ValidateApprovalSignatures: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SignData: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Packets: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DatePattern: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DuplexOption: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Base: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Bind: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Compression: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::User: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Rectangle: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::EffectiveOutputPolicy: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ADBE_JSDebugger: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Acrobat7: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Interactive: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Locale: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::CurrentPage: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Data: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Date: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Desc: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Encrypt: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Draw: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Encryption: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::MeridiemNames: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Messaging: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Speak: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DataGroup: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Common: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Sharptext: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PaginationOverride: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Reasons: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SignatureProperties: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Threshold: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::AppearanceFilter: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Fill: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Font: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Form: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::MediumInfo: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Certificate: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Password: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::RunScripts: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Trace: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Float: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::RenderPolicy: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::LogPseudoModel: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Destination: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Value: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Bookend: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ExObject: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::OpenAction: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::NeverEmbed: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::BindItems: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Calculate: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Print: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Extras: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Proto: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DSigData: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Creator: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Connect: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Permissions: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::ConnectionSet: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Submit: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Range: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Linearized: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Packet: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::RootElement: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PlaintextMetadata: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::NumberSymbols: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PrintHighQuality: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Driver: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::IncrementalLoad: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::SubjectDN: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::CompressLogicalStructure: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::IncrementalMerge: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Radial: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Variables: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::TimePatterns: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::EffectiveInputPolicy: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::NameAttr: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Conformance: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Transform: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::LockDocument: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::BreakAfter: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Line: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::List: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Source: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Occur: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::PickTrayByPDFSize: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::MonthNames: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Severity: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::GroupParent: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::DocumentAssembly: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::NumberSymbol: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Tagged: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Items: node = pdfium::MakeUnique(doc, packet); break; case XFA_Element::Unknown: case XFA_Element::NodeList: NOTREACHED(); return nullptr; } if (!node || !node->IsValidInPacket(packet)) return nullptr; return node; }