| // 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; // Hashed as wide string. |
| XFA_Element element; |
| }; |
| |
| #undef ELEM |
| #define ELEM(a, b, c) a, c |
| |
| const ElementNameInfo ElementNameToEnum[] = { |
| {ELEM(0x23ee3, "ps", XFA_Element::Ps)}, |
| {ELEM(0x25363, "to", XFA_Element::To)}, |
| {ELEM(0x2587e, "ui", XFA_Element::Ui)}, |
| {ELEM(0x1c648b, "recordSet", XFA_Element::RecordSet)}, |
| {ELEM(0x171428f, "subsetBelow", XFA_Element::SubsetBelow)}, |
| {ELEM(0x1a0776a, "subformSet", XFA_Element::SubformSet)}, |
| {ELEM(0x2340d70, "adobeExtensionLevel", XFA_Element::AdobeExtensionLevel)}, |
| {ELEM(0x2c1c7f1, "typeface", XFA_Element::Typeface)}, |
| {ELEM(0x5518c25, "break", XFA_Element::Break)}, |
| {ELEM(0x5fff523, "fontInfo", XFA_Element::FontInfo)}, |
| {ELEM(0x653a227, "numberPattern", XFA_Element::NumberPattern)}, |
| {ELEM(0x65b4a05, "dynamicRender", XFA_Element::DynamicRender)}, |
| {ELEM(0x7e4362e, "printScaling", XFA_Element::PrintScaling)}, |
| {ELEM(0x7fe6d3a, "checkButton", XFA_Element::CheckButton)}, |
| {ELEM(0x80cf58f, "datePatterns", XFA_Element::DatePatterns)}, |
| {ELEM(0x811929d, "sourceSet", XFA_Element::SourceSet)}, |
| {ELEM(0x9f9d612, "amd", XFA_Element::Amd)}, |
| {ELEM(0x9f9efb6, "arc", XFA_Element::Arc)}, |
| {ELEM(0xa48835e, "day", XFA_Element::Day)}, |
| {ELEM(0xa6328b8, "era", XFA_Element::Era)}, |
| {ELEM(0xae6a0a0, "jog", XFA_Element::Jog)}, |
| {ELEM(0xb1b3d22, "log", XFA_Element::Log)}, |
| {ELEM(0xb35439e, "map", XFA_Element::Map)}, |
| {ELEM(0xb355301, "mdp", XFA_Element::Mdp)}, |
| {ELEM(0xb420438, "breakBefore", XFA_Element::BreakBefore)}, |
| {ELEM(0xb6a091c, "oid", XFA_Element::Oid)}, |
| {ELEM(0xb84389f, "pcl", XFA_Element::Pcl)}, |
| {ELEM(0xb843dba, "pdf", XFA_Element::Pdf)}, |
| {ELEM(0xbb8df5d, "ref", XFA_Element::Ref)}, |
| {ELEM(0xc080cd0, "uri", XFA_Element::Uri)}, |
| {ELEM(0xc56afbf, "xdc", XFA_Element::Xdc)}, |
| {ELEM(0xc56afcc, "xdp", XFA_Element::Xdp)}, |
| {ELEM(0xc56b9ff, "xfa", XFA_Element::Xfa)}, |
| {ELEM(0xc56fcb7, "xsl", XFA_Element::Xsl)}, |
| {ELEM(0xc8b89d6, "zpl", XFA_Element::Zpl)}, |
| {ELEM(0xc9bae94, "cache", XFA_Element::Cache)}, |
| {ELEM(0xcb016be, "margin", XFA_Element::Margin)}, |
| {ELEM(0xe1378fe, "keyUsage", XFA_Element::KeyUsage)}, |
| {ELEM(0xfe3596a, "exclude", XFA_Element::Exclude)}, |
| {ELEM(0x10395ac7, "choiceList", XFA_Element::ChoiceList)}, |
| {ELEM(0x1059ec18, "level", XFA_Element::Level)}, |
| {ELEM(0x10874804, "labelPrinter", XFA_Element::LabelPrinter)}, |
| {ELEM(0x10c40e03, "calendarSymbols", XFA_Element::CalendarSymbols)}, |
| {ELEM(0x10f1ea24, "para", XFA_Element::Para)}, |
| {ELEM(0x10f1ea37, "part", XFA_Element::Part)}, |
| {ELEM(0x1140975b, "pdfa", XFA_Element::Pdfa)}, |
| {ELEM(0x1154efe6, "filter", XFA_Element::Filter)}, |
| {ELEM(0x13f41de1, "present", XFA_Element::Present)}, |
| {ELEM(0x1827e6ea, "pagination", XFA_Element::Pagination)}, |
| {ELEM(0x18463707, "encoding", XFA_Element::Encoding)}, |
| {ELEM(0x185e41e2, "event", XFA_Element::Event)}, |
| {ELEM(0x1adb142d, "whitespace", XFA_Element::Whitespace)}, |
| {ELEM(0x1f3f64c3, "defaultUi", XFA_Element::DefaultUi)}, |
| {ELEM(0x204e87cb, "dataModel", XFA_Element::DataModel)}, |
| {ELEM(0x2057b350, "barcode", XFA_Element::Barcode)}, |
| {ELEM(0x20596bad, "timePattern", XFA_Element::TimePattern)}, |
| {ELEM(0x210b74d3, "batchOutput", XFA_Element::BatchOutput)}, |
| {ELEM(0x212ff0e2, "enforce", XFA_Element::Enforce)}, |
| {ELEM(0x21d351b4, "currencySymbols", XFA_Element::CurrencySymbols)}, |
| {ELEM(0x21db83c5, "addSilentPrint", XFA_Element::AddSilentPrint)}, |
| {ELEM(0x22266258, "rename", XFA_Element::Rename)}, |
| {ELEM(0x226ca8f1, "operation", XFA_Element::Operation)}, |
| {ELEM(0x23e27b84, "typefaces", XFA_Element::Typefaces)}, |
| {ELEM(0x23f4aa75, "subjectDNs", XFA_Element::SubjectDNs)}, |
| {ELEM(0x240d5e8e, "issuers", XFA_Element::Issuers)}, |
| {ELEM(0x24a52f8a, "wsdlConnection", XFA_Element::WsdlConnection)}, |
| {ELEM(0x254ebd07, "debug", XFA_Element::Debug)}, |
| {ELEM(0x2655c66a, "delta", XFA_Element::Delta)}, |
| {ELEM(0x26c0daec, "eraNames", XFA_Element::EraNames)}, |
| {ELEM(0x273ab03b, "modifyAnnots", XFA_Element::ModifyAnnots)}, |
| {ELEM(0x27875bb4, "startNode", XFA_Element::StartNode)}, |
| {ELEM(0x285d0dbc, "button", XFA_Element::Button)}, |
| {ELEM(0x28dee6e9, "format", XFA_Element::Format)}, |
| {ELEM(0x2a23349e, "border", XFA_Element::Border)}, |
| {ELEM(0x2ae67f19, "area", XFA_Element::Area)}, |
| {ELEM(0x2c3c4c67, "hyphenation", XFA_Element::Hyphenation)}, |
| {ELEM(0x2d08af85, "text", XFA_Element::Text)}, |
| {ELEM(0x2d71b00f, "time", XFA_Element::Time)}, |
| {ELEM(0x2f16a382, "type", XFA_Element::Type)}, |
| {ELEM(0x2fe057e9, "overprint", XFA_Element::Overprint)}, |
| {ELEM(0x302aee16, "certificates", XFA_Element::Certificates)}, |
| {ELEM(0x30b227df, "encryptionMethods", XFA_Element::EncryptionMethods)}, |
| {ELEM(0x32b900d1, "setProperty", XFA_Element::SetProperty)}, |
| {ELEM(0x337d9e45, "printerName", XFA_Element::PrinterName)}, |
| {ELEM(0x33edda4b, "startPage", XFA_Element::StartPage)}, |
| {ELEM(0x381943e4, "pageOffset", XFA_Element::PageOffset)}, |
| {ELEM(0x382106cd, "dateTime", XFA_Element::DateTime)}, |
| {ELEM(0x386e7421, "comb", XFA_Element::Comb)}, |
| {ELEM(0x390acd9e, "pattern", XFA_Element::Pattern)}, |
| {ELEM(0x3942163e, "ifEmpty", XFA_Element::IfEmpty)}, |
| {ELEM(0x39944a7b, "suppressBanner", XFA_Element::SuppressBanner)}, |
| {ELEM(0x3b3c3dca, "outputBin", XFA_Element::OutputBin)}, |
| {ELEM(0x3b8a4024, "field", XFA_Element::Field)}, |
| {ELEM(0x3c15352f, "agent", XFA_Element::Agent)}, |
| {ELEM(0x3d7e8668, "outputXSL", XFA_Element::OutputXSL)}, |
| {ELEM(0x3e1c91c5, "adjustData", XFA_Element::AdjustData)}, |
| {ELEM(0x3e7a9408, "autoSave", XFA_Element::AutoSave)}, |
| {ELEM(0x3ecead94, "contentArea", XFA_Element::ContentArea)}, |
| {ELEM(0x3fadaec0, "wsdlAddress", XFA_Element::WsdlAddress)}, |
| {ELEM(0x40623b5b, "solid", XFA_Element::Solid)}, |
| {ELEM(0x41f0bd76, "dateTimeSymbols", XFA_Element::DateTimeSymbols)}, |
| {ELEM(0x444e7523, "encryptionLevel", XFA_Element::EncryptionLevel)}, |
| {ELEM(0x4523af55, "edge", XFA_Element::Edge)}, |
| {ELEM(0x45d5e3c1, "stipple", XFA_Element::Stipple)}, |
| {ELEM(0x475e4e87, "attributes", XFA_Element::Attributes)}, |
| {ELEM(0x487a8c87, "versionControl", XFA_Element::VersionControl)}, |
| {ELEM(0x48e5248c, "meridiem", XFA_Element::Meridiem)}, |
| {ELEM(0x48f36719, "exclGroup", XFA_Element::ExclGroup)}, |
| {ELEM(0x4977356b, "toolTip", XFA_Element::ToolTip)}, |
| {ELEM(0x499afecc, "compress", XFA_Element::Compress)}, |
| {ELEM(0x4a0c4948, "reason", XFA_Element::Reason)}, |
| {ELEM(0x4bdcce13, "execute", XFA_Element::Execute)}, |
| {ELEM(0x4c56b216, "contentCopy", XFA_Element::ContentCopy)}, |
| {ELEM(0x4cc176d3, "dateTimeEdit", XFA_Element::DateTimeEdit)}, |
| {ELEM(0x4e1e39b6, "config", XFA_Element::Config)}, |
| {ELEM(0x4e2d6083, "image", XFA_Element::Image)}, |
| {ELEM(0x4e814150, "#xHTML", XFA_Element::SharpxHTML)}, |
| {ELEM(0x4f2388c1, "numberOfCopies", XFA_Element::NumberOfCopies)}, |
| {ELEM(0x4f512e30, "behaviorOverride", XFA_Element::BehaviorOverride)}, |
| {ELEM(0x4fdc3454, "timeStamp", XFA_Element::TimeStamp)}, |
| {ELEM(0x51d90546, "month", XFA_Element::Month)}, |
| {ELEM(0x523437e4, "viewerPreferences", XFA_Element::ViewerPreferences)}, |
| {ELEM(0x53abc1c6, "scriptModel", XFA_Element::ScriptModel)}, |
| {ELEM(0x54034c2f, "decimal", XFA_Element::Decimal)}, |
| {ELEM(0x54202c9e, "subform", XFA_Element::Subform)}, |
| {ELEM(0x542c7300, "select", XFA_Element::Select)}, |
| {ELEM(0x5436d198, "window", XFA_Element::Window)}, |
| {ELEM(0x5473b6dc, "localeSet", XFA_Element::LocaleSet)}, |
| {ELEM(0x56ae179e, "handler", XFA_Element::Handler)}, |
| {ELEM(0x570ce835, "presence", XFA_Element::Presence)}, |
| {ELEM(0x5779d65f, "record", XFA_Element::Record)}, |
| {ELEM(0x59c8f27d, "embed", XFA_Element::Embed)}, |
| {ELEM(0x5a50e9e6, "version", XFA_Element::Version)}, |
| {ELEM(0x5b8383df, "command", XFA_Element::Command)}, |
| {ELEM(0x5c43c6c3, "copies", XFA_Element::Copies)}, |
| {ELEM(0x5e0c2c49, "staple", XFA_Element::Staple)}, |
| {ELEM(0x5e5083dd, "submitFormat", XFA_Element::SubmitFormat)}, |
| {ELEM(0x5e8c5d20, "boolean", XFA_Element::Boolean)}, |
| {ELEM(0x60490a85, "message", XFA_Element::Message)}, |
| {ELEM(0x60d4c8b1, "output", XFA_Element::Output)}, |
| {ELEM(0x61810081, "psMap", XFA_Element::PsMap)}, |
| {ELEM(0x62bd904b, "excludeNS", XFA_Element::ExcludeNS)}, |
| {ELEM(0x669d4f77, "assist", XFA_Element::Assist)}, |
| {ELEM(0x67334a1c, "picture", XFA_Element::Picture)}, |
| {ELEM(0x67fe7334, "traversal", XFA_Element::Traversal)}, |
| {ELEM(0x6894589c, "silentPrint", XFA_Element::SilentPrint)}, |
| {ELEM(0x68a16bbd, "webClient", XFA_Element::WebClient)}, |
| {ELEM(0x6a4bc084, "producer", XFA_Element::Producer)}, |
| {ELEM(0x6a9e04c9, "corner", XFA_Element::Corner)}, |
| {ELEM(0x6ccd7274, "msgId", XFA_Element::MsgId)}, |
| {ELEM(0x6e67921f, "color", XFA_Element::Color)}, |
| {ELEM(0x6ec217a5, "keep", XFA_Element::Keep)}, |
| {ELEM(0x6eef1116, "query", XFA_Element::Query)}, |
| {ELEM(0x7033bfd5, "insert", XFA_Element::Insert)}, |
| {ELEM(0x704af389, "imageEdit", XFA_Element::ImageEdit)}, |
| {ELEM(0x7233018a, "validate", XFA_Element::Validate)}, |
| {ELEM(0x72ba47b4, "digestMethods", XFA_Element::DigestMethods)}, |
| {ELEM(0x72f2aa7a, "numberPatterns", XFA_Element::NumberPatterns)}, |
| {ELEM(0x74caed29, "pageSet", XFA_Element::PageSet)}, |
| {ELEM(0x7568e6ae, "integer", XFA_Element::Integer)}, |
| {ELEM(0x76182db9, "soapAddress", XFA_Element::SoapAddress)}, |
| {ELEM(0x773146c5, "equate", XFA_Element::Equate)}, |
| {ELEM(0x77d449dd, "formFieldFilling", XFA_Element::FormFieldFilling)}, |
| {ELEM(0x7889d68a, "pageRange", XFA_Element::PageRange)}, |
| {ELEM(0x7baca2e3, "update", XFA_Element::Update)}, |
| {ELEM(0x7ce89001, "connectString", XFA_Element::ConnectString)}, |
| {ELEM(0x7d9fd7c5, "mode", XFA_Element::Mode)}, |
| {ELEM(0x7e7e845e, "layout", XFA_Element::Layout)}, |
| {ELEM(0x7e845c34, "#xml", XFA_Element::Sharpxml)}, |
| {ELEM(0x7fb341df, "xsdConnection", XFA_Element::XsdConnection)}, |
| {ELEM(0x7ffb51cc, "traverse", XFA_Element::Traverse)}, |
| {ELEM(0x80203b5a, "encodings", XFA_Element::Encodings)}, |
| {ELEM(0x803550fc, "template", XFA_Element::Template)}, |
| {ELEM(0x803d5bbc, "acrobat", XFA_Element::Acrobat)}, |
| {ELEM(0x821d6569, "validationMessaging", XFA_Element::ValidationMessaging)}, |
| {ELEM(0x830e688f, "signing", XFA_Element::Signing)}, |
| {ELEM(0x83dab9f5, "script", XFA_Element::Script)}, |
| {ELEM(0x8411ebcd, |
| "addViewerPreferences", |
| XFA_Element::AddViewerPreferences)}, |
| {ELEM(0x8777642e, "alwaysEmbed", XFA_Element::AlwaysEmbed)}, |
| {ELEM(0x877a6b39, "passwordEdit", XFA_Element::PasswordEdit)}, |
| {ELEM(0x87e84c99, "numericEdit", XFA_Element::NumericEdit)}, |
| {ELEM(0x8852cdec, "encryptionMethod", XFA_Element::EncryptionMethod)}, |
| {ELEM(0x891f4606, "change", XFA_Element::Change)}, |
| {ELEM(0x89939f36, "pageArea", XFA_Element::PageArea)}, |
| {ELEM(0x8a9d6247, "submitUrl", XFA_Element::SubmitUrl)}, |
| {ELEM(0x8ad8b90f, "oids", XFA_Element::Oids)}, |
| {ELEM(0x8b036f32, "signature", XFA_Element::Signature)}, |
| {ELEM(0x8b128efb, "ADBE_JSConsole", XFA_Element::ADBE_JSConsole)}, |
| {ELEM(0x8bcfe96e, "caption", XFA_Element::Caption)}, |
| {ELEM(0x8e1c2921, "relevant", XFA_Element::Relevant)}, |
| {ELEM(0x8e3f0a4b, "flipLabel", XFA_Element::FlipLabel)}, |
| {ELEM(0x900280b7, "exData", XFA_Element::ExData)}, |
| {ELEM(0x91e80352, "dayNames", XFA_Element::DayNames)}, |
| {ELEM(0x93113b11, "soapAction", XFA_Element::SoapAction)}, |
| {ELEM(0x938b09f6, "defaultTypeface", XFA_Element::DefaultTypeface)}, |
| {ELEM(0x95b37897, "manifest", XFA_Element::Manifest)}, |
| {ELEM(0x97b76b54, "overflow", XFA_Element::Overflow)}, |
| {ELEM(0x9a57861b, "linear", XFA_Element::Linear)}, |
| {ELEM(0x9ad5a821, "currencySymbol", XFA_Element::CurrencySymbol)}, |
| {ELEM(0x9c6471b3, "delete", XFA_Element::Delete)}, |
| {ELEM(0x9deea61d, "deltas", XFA_Element::Deltas)}, |
| {ELEM(0x9e67de21, "digestMethod", XFA_Element::DigestMethod)}, |
| {ELEM(0x9f3e9510, "instanceManager", XFA_Element::InstanceManager)}, |
| {ELEM(0xa0799892, "equateRange", XFA_Element::EquateRange)}, |
| {ELEM(0xa084a381, "medium", XFA_Element::Medium)}, |
| {ELEM(0xa1211b8b, "textEdit", XFA_Element::TextEdit)}, |
| {ELEM(0xa17008f0, "templateCache", XFA_Element::TemplateCache)}, |
| {ELEM(0xa4f7b88f, |
| "compressObjectStream", |
| XFA_Element::CompressObjectStream)}, |
| {ELEM(0xa65f5d17, "dataValue", XFA_Element::DataValue)}, |
| {ELEM(0xa6caaa89, "accessibleContent", XFA_Element::AccessibleContent)}, |
| {ELEM(0xa94cc00b, "includeXDPContent", XFA_Element::IncludeXDPContent)}, |
| {ELEM(0xa9b081a1, "xmlConnection", XFA_Element::XmlConnection)}, |
| {ELEM(0xab2a3b74, |
| "validateApprovalSignatures", |
| XFA_Element::ValidateApprovalSignatures)}, |
| {ELEM(0xab8c5a2b, "signData", XFA_Element::SignData)}, |
| {ELEM(0xabaa2ceb, "packets", XFA_Element::Packets)}, |
| {ELEM(0xadba359c, "datePattern", XFA_Element::DatePattern)}, |
| {ELEM(0xae222b2b, "duplexOption", XFA_Element::DuplexOption)}, |
| {ELEM(0xb012effb, "base", XFA_Element::Base)}, |
| {ELEM(0xb0e5485d, "bind", XFA_Element::Bind)}, |
| {ELEM(0xb45d61b2, "compression", XFA_Element::Compression)}, |
| {ELEM(0xb563f0ff, "user", XFA_Element::User)}, |
| {ELEM(0xb5848ad5, "rectangle", XFA_Element::Rectangle)}, |
| {ELEM(0xb6dacb72, |
| "effectiveOutputPolicy", |
| XFA_Element::EffectiveOutputPolicy)}, |
| {ELEM(0xb7d7654d, "ADBE_JSDebugger", XFA_Element::ADBE_JSDebugger)}, |
| {ELEM(0xbab37f73, "acrobat7", XFA_Element::Acrobat7)}, |
| {ELEM(0xbc70081e, "interactive", XFA_Element::Interactive)}, |
| {ELEM(0xbc8fa350, "locale", XFA_Element::Locale)}, |
| {ELEM(0xbcd44940, "currentPage", XFA_Element::CurrentPage)}, |
| {ELEM(0xbde9abda, "data", XFA_Element::Data)}, |
| {ELEM(0xbde9abde, "date", XFA_Element::Date)}, |
| {ELEM(0xbe52dfbf, "desc", XFA_Element::Desc)}, |
| {ELEM(0xbf4b6405, "encrypt", XFA_Element::Encrypt)}, |
| {ELEM(0xbfa87cce, "draw", XFA_Element::Draw)}, |
| {ELEM(0xc181ff4b, "encryption", XFA_Element::Encryption)}, |
| {ELEM(0xc1970f40, "meridiemNames", XFA_Element::MeridiemNames)}, |
| {ELEM(0xc5ad9f5e, "messaging", XFA_Element::Messaging)}, |
| {ELEM(0xc69549f4, "speak", XFA_Element::Speak)}, |
| {ELEM(0xc7743dc7, "dataGroup", XFA_Element::DataGroup)}, |
| {ELEM(0xc7eb20e9, "common", XFA_Element::Common)}, |
| {ELEM(0xc85d4528, "#text", XFA_Element::Sharptext)}, |
| {ELEM(0xc861556a, "paginationOverride", XFA_Element::PaginationOverride)}, |
| {ELEM(0xc903dabb, "reasons", XFA_Element::Reasons)}, |
| {ELEM(0xc9a8127f, "signatureProperties", XFA_Element::SignatureProperties)}, |
| {ELEM(0xca010c2d, "threshold", XFA_Element::Threshold)}, |
| {ELEM(0xcb4c5e96, "appearanceFilter", XFA_Element::AppearanceFilter)}, |
| {ELEM(0xcc92aba7, "fill", XFA_Element::Fill)}, |
| {ELEM(0xcd308b77, "font", XFA_Element::Font)}, |
| {ELEM(0xcd309ff4, "form", XFA_Element::Form)}, |
| {ELEM(0xcebcca2d, "mediumInfo", XFA_Element::MediumInfo)}, |
| {ELEM(0xcfe0d643, "certificate", XFA_Element::Certificate)}, |
| {ELEM(0xd012c033, "password", XFA_Element::Password)}, |
| {ELEM(0xd01604bd, "runScripts", XFA_Element::RunScripts)}, |
| {ELEM(0xd1227e6f, "trace", XFA_Element::Trace)}, |
| {ELEM(0xd1532876, "float", XFA_Element::Float)}, |
| {ELEM(0xd17a6c30, "renderPolicy", XFA_Element::RenderPolicy)}, |
| {ELEM(0xd58aa962, "destination", XFA_Element::Destination)}, |
| {ELEM(0xd6e27f1d, "value", XFA_Element::Value)}, |
| {ELEM(0xd7a14462, "bookend", XFA_Element::Bookend)}, |
| {ELEM(0xd8c31254, "exObject", XFA_Element::ExObject)}, |
| {ELEM(0xda6a8590, "openAction", XFA_Element::OpenAction)}, |
| {ELEM(0xdab4fb7d, "neverEmbed", XFA_Element::NeverEmbed)}, |
| {ELEM(0xdb98475f, "bindItems", XFA_Element::BindItems)}, |
| {ELEM(0xdbfbe02e, "calculate", XFA_Element::Calculate)}, |
| {ELEM(0xdd7676ed, "print", XFA_Element::Print)}, |
| {ELEM(0xdde273d7, "extras", XFA_Element::Extras)}, |
| {ELEM(0xde146b34, "proto", XFA_Element::Proto)}, |
| {ELEM(0xdf059321, "dSigData", XFA_Element::DSigData)}, |
| {ELEM(0xdfccf030, "creator", XFA_Element::Creator)}, |
| {ELEM(0xdff78c6a, "connect", XFA_Element::Connect)}, |
| {ELEM(0xe11a2cbc, "permissions", XFA_Element::Permissions)}, |
| {ELEM(0xe14c801c, "connectionSet", XFA_Element::ConnectionSet)}, |
| {ELEM(0xe1c83a14, "submit", XFA_Element::Submit)}, |
| {ELEM(0xe29821cd, "range", XFA_Element::Range)}, |
| {ELEM(0xe38d83c7, "linearized", XFA_Element::Linearized)}, |
| {ELEM(0xe3aa2578, "packet", XFA_Element::Packet)}, |
| {ELEM(0xe3aa860e, "rootElement", XFA_Element::RootElement)}, |
| {ELEM(0xe3e553fa, "plaintextMetadata", XFA_Element::PlaintextMetadata)}, |
| {ELEM(0xe3e6e4f2, "numberSymbols", XFA_Element::NumberSymbols)}, |
| {ELEM(0xe3f067f6, "printHighQuality", XFA_Element::PrintHighQuality)}, |
| {ELEM(0xe3fd078c, "driver", XFA_Element::Driver)}, |
| {ELEM(0xe48b34f2, "incrementalLoad", XFA_Element::IncrementalLoad)}, |
| {ELEM(0xe550e7c2, "subjectDN", XFA_Element::SubjectDN)}, |
| {ELEM(0xe6669a78, |
| "compressLogicalStructure", |
| XFA_Element::CompressLogicalStructure)}, |
| {ELEM(0xe7a7ea02, "incrementalMerge", XFA_Element::IncrementalMerge)}, |
| {ELEM(0xe948530d, "radial", XFA_Element::Radial)}, |
| {ELEM(0xea8d6999, "variables", XFA_Element::Variables)}, |
| {ELEM(0xeaa142c0, "timePatterns", XFA_Element::TimePatterns)}, |
| {ELEM(0xeb943a71, |
| "effectiveInputPolicy", |
| XFA_Element::EffectiveInputPolicy)}, |
| {ELEM(0xef04a2bc, "nameAttr", XFA_Element::NameAttr)}, |
| {ELEM(0xf07222ab, "conformance", XFA_Element::Conformance)}, |
| {ELEM(0xf0aaaadc, "transform", XFA_Element::Transform)}, |
| {ELEM(0xf1433e88, "lockDocument", XFA_Element::LockDocument)}, |
| {ELEM(0xf54eb997, "breakAfter", XFA_Element::BreakAfter)}, |
| {ELEM(0xf616da28, "line", XFA_Element::Line)}, |
| {ELEM(0xf7055fb1, "source", XFA_Element::Source)}, |
| {ELEM(0xf7eebe1c, "occur", XFA_Element::Occur)}, |
| {ELEM(0xf8d10d97, "pickTrayByPDFSize", XFA_Element::PickTrayByPDFSize)}, |
| {ELEM(0xf8f19e3a, "monthNames", XFA_Element::MonthNames)}, |
| {ELEM(0xf984149b, "severity", XFA_Element::Severity)}, |
| {ELEM(0xf9bcb037, "groupParent", XFA_Element::GroupParent)}, |
| {ELEM(0xfbc42fff, "documentAssembly", XFA_Element::DocumentAssembly)}, |
| {ELEM(0xfc78159f, "numberSymbol", XFA_Element::NumberSymbol)}, |
| {ELEM(0xfcbd606c, "tagged", XFA_Element::Tagged)}, |
| {ELEM(0xff063802, "items", XFA_Element::Items)}, |
| }; |
| |
| #undef ELEM |
| |
| struct AttributeNameInfo { |
| uint32_t hash; // Hashed as wide string. |
| XFA_Attribute attribute; |
| }; |
| |
| const AttributeNameInfo AttributeNameInfoToEnum[] = { |
| #undef ATTR____ |
| #define ATTR____(a, b, c) {a, XFA_Attribute::c}, |
| #include "xfa/fxfa/parser/attributes.inc" |
| #undef ATTR____ |
| }; |
| |
| const char* AttributeToNameASCII(XFA_Attribute attr) { |
| switch (attr) { |
| #undef ATTR____ |
| #define ATTR____(a, b, c) \ |
| case XFA_Attribute::c: \ |
| return b; |
| #include "xfa/fxfa/parser/attributes.inc" |
| #undef ATTR____ |
| default: |
| NOTREACHED(); |
| return ""; |
| } |
| } |
| |
| } // 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) { |
| return WideString::FromASCII(AttributeToNameASCII(attr)); |
| } |