blob: 3d64c1a66f6c42624008782aa92d8a6fc76f094d [file] [log] [blame]
// 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;
};
const ElementNameInfo 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;
};
const AttributeNameInfo 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::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