1 // Copyright 2017 PDFium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com
6
7 #include <memory>
8
9 #include "third_party/base/ptr_util.h"
10 #include "xfa/fxfa/parser/cxfa_accessiblecontent.h"
11 #include "xfa/fxfa/parser/cxfa_acrobat.h"
12 #include "xfa/fxfa/parser/cxfa_acrobat7.h"
13 #include "xfa/fxfa/parser/cxfa_adbe_jsconsole.h"
14 #include "xfa/fxfa/parser/cxfa_adbe_jsdebugger.h"
15 #include "xfa/fxfa/parser/cxfa_addsilentprint.h"
16 #include "xfa/fxfa/parser/cxfa_addviewerpreferences.h"
17 #include "xfa/fxfa/parser/cxfa_adjustdata.h"
18 #include "xfa/fxfa/parser/cxfa_adobeextensionlevel.h"
19 #include "xfa/fxfa/parser/cxfa_agent.h"
20 #include "xfa/fxfa/parser/cxfa_alwaysembed.h"
21 #include "xfa/fxfa/parser/cxfa_amd.h"
22 #include "xfa/fxfa/parser/cxfa_appearancefilter.h"
23 #include "xfa/fxfa/parser/cxfa_arc.h"
24 #include "xfa/fxfa/parser/cxfa_area.h"
25 #include "xfa/fxfa/parser/cxfa_assist.h"
26 #include "xfa/fxfa/parser/cxfa_attributes.h"
27 #include "xfa/fxfa/parser/cxfa_autosave.h"
28 #include "xfa/fxfa/parser/cxfa_barcode.h"
29 #include "xfa/fxfa/parser/cxfa_base.h"
30 #include "xfa/fxfa/parser/cxfa_batchoutput.h"
31 #include "xfa/fxfa/parser/cxfa_behavioroverride.h"
32 #include "xfa/fxfa/parser/cxfa_bind.h"
33 #include "xfa/fxfa/parser/cxfa_binditems.h"
34 #include "xfa/fxfa/parser/cxfa_bookend.h"
35 #include "xfa/fxfa/parser/cxfa_boolean.h"
36 #include "xfa/fxfa/parser/cxfa_border.h"
37 #include "xfa/fxfa/parser/cxfa_break.h"
38 #include "xfa/fxfa/parser/cxfa_breakafter.h"
39 #include "xfa/fxfa/parser/cxfa_breakbefore.h"
40 #include "xfa/fxfa/parser/cxfa_button.h"
41 #include "xfa/fxfa/parser/cxfa_cache.h"
42 #include "xfa/fxfa/parser/cxfa_calculate.h"
43 #include "xfa/fxfa/parser/cxfa_calendarsymbols.h"
44 #include "xfa/fxfa/parser/cxfa_caption.h"
45 #include "xfa/fxfa/parser/cxfa_certificate.h"
46 #include "xfa/fxfa/parser/cxfa_certificates.h"
47 #include "xfa/fxfa/parser/cxfa_change.h"
48 #include "xfa/fxfa/parser/cxfa_checkbutton.h"
49 #include "xfa/fxfa/parser/cxfa_choicelist.h"
50 #include "xfa/fxfa/parser/cxfa_color.h"
51 #include "xfa/fxfa/parser/cxfa_comb.h"
52 #include "xfa/fxfa/parser/cxfa_command.h"
53 #include "xfa/fxfa/parser/cxfa_common.h"
54 #include "xfa/fxfa/parser/cxfa_compress.h"
55 #include "xfa/fxfa/parser/cxfa_compression.h"
56 #include "xfa/fxfa/parser/cxfa_compresslogicalstructure.h"
57 #include "xfa/fxfa/parser/cxfa_compressobjectstream.h"
58 #include "xfa/fxfa/parser/cxfa_config.h"
59 #include "xfa/fxfa/parser/cxfa_conformance.h"
60 #include "xfa/fxfa/parser/cxfa_connect.h"
61 #include "xfa/fxfa/parser/cxfa_connectionset.h"
62 #include "xfa/fxfa/parser/cxfa_connectstring.h"
63 #include "xfa/fxfa/parser/cxfa_contentarea.h"
64 #include "xfa/fxfa/parser/cxfa_contentcopy.h"
65 #include "xfa/fxfa/parser/cxfa_copies.h"
66 #include "xfa/fxfa/parser/cxfa_corner.h"
67 #include "xfa/fxfa/parser/cxfa_creator.h"
68 #include "xfa/fxfa/parser/cxfa_currencysymbol.h"
69 #include "xfa/fxfa/parser/cxfa_currencysymbols.h"
70 #include "xfa/fxfa/parser/cxfa_currentpage.h"
71 #include "xfa/fxfa/parser/cxfa_data.h"
72 #include "xfa/fxfa/parser/cxfa_datagroup.h"
73 #include "xfa/fxfa/parser/cxfa_datamodel.h"
74 #include "xfa/fxfa/parser/cxfa_datavalue.h"
75 #include "xfa/fxfa/parser/cxfa_date.h"
76 #include "xfa/fxfa/parser/cxfa_datepattern.h"
77 #include "xfa/fxfa/parser/cxfa_datepatterns.h"
78 #include "xfa/fxfa/parser/cxfa_datetime.h"
79 #include "xfa/fxfa/parser/cxfa_datetimeedit.h"
80 #include "xfa/fxfa/parser/cxfa_datetimesymbols.h"
81 #include "xfa/fxfa/parser/cxfa_day.h"
82 #include "xfa/fxfa/parser/cxfa_daynames.h"
83 #include "xfa/fxfa/parser/cxfa_debug.h"
84 #include "xfa/fxfa/parser/cxfa_decimal.h"
85 #include "xfa/fxfa/parser/cxfa_defaulttypeface.h"
86 #include "xfa/fxfa/parser/cxfa_defaultui.h"
87 #include "xfa/fxfa/parser/cxfa_delete.h"
88 #include "xfa/fxfa/parser/cxfa_delta.h"
89 #include "xfa/fxfa/parser/cxfa_deltas.h"
90 #include "xfa/fxfa/parser/cxfa_desc.h"
91 #include "xfa/fxfa/parser/cxfa_destination.h"
92 #include "xfa/fxfa/parser/cxfa_digestmethod.h"
93 #include "xfa/fxfa/parser/cxfa_digestmethods.h"
94 #include "xfa/fxfa/parser/cxfa_documentassembly.h"
95 #include "xfa/fxfa/parser/cxfa_draw.h"
96 #include "xfa/fxfa/parser/cxfa_driver.h"
97 #include "xfa/fxfa/parser/cxfa_dsigdata.h"
98 #include "xfa/fxfa/parser/cxfa_duplexoption.h"
99 #include "xfa/fxfa/parser/cxfa_dynamicrender.h"
100 #include "xfa/fxfa/parser/cxfa_edge.h"
101 #include "xfa/fxfa/parser/cxfa_effectiveinputpolicy.h"
102 #include "xfa/fxfa/parser/cxfa_effectiveoutputpolicy.h"
103 #include "xfa/fxfa/parser/cxfa_embed.h"
104 #include "xfa/fxfa/parser/cxfa_encoding.h"
105 #include "xfa/fxfa/parser/cxfa_encodings.h"
106 #include "xfa/fxfa/parser/cxfa_encrypt.h"
107 #include "xfa/fxfa/parser/cxfa_encryption.h"
108 #include "xfa/fxfa/parser/cxfa_encryptionlevel.h"
109 #include "xfa/fxfa/parser/cxfa_encryptionmethod.h"
110 #include "xfa/fxfa/parser/cxfa_encryptionmethods.h"
111 #include "xfa/fxfa/parser/cxfa_enforce.h"
112 #include "xfa/fxfa/parser/cxfa_equate.h"
113 #include "xfa/fxfa/parser/cxfa_equaterange.h"
114 #include "xfa/fxfa/parser/cxfa_era.h"
115 #include "xfa/fxfa/parser/cxfa_eranames.h"
116 #include "xfa/fxfa/parser/cxfa_event.h"
117 #include "xfa/fxfa/parser/cxfa_exclgroup.h"
118 #include "xfa/fxfa/parser/cxfa_exclude.h"
119 #include "xfa/fxfa/parser/cxfa_excludens.h"
120 #include "xfa/fxfa/parser/cxfa_exdata.h"
121 #include "xfa/fxfa/parser/cxfa_execute.h"
122 #include "xfa/fxfa/parser/cxfa_exobject.h"
123 #include "xfa/fxfa/parser/cxfa_extras.h"
124 #include "xfa/fxfa/parser/cxfa_field.h"
125 #include "xfa/fxfa/parser/cxfa_fill.h"
126 #include "xfa/fxfa/parser/cxfa_filter.h"
127 #include "xfa/fxfa/parser/cxfa_fliplabel.h"
128 #include "xfa/fxfa/parser/cxfa_float.h"
129 #include "xfa/fxfa/parser/cxfa_font.h"
130 #include "xfa/fxfa/parser/cxfa_fontinfo.h"
131 #include "xfa/fxfa/parser/cxfa_form.h"
132 #include "xfa/fxfa/parser/cxfa_format.h"
133 #include "xfa/fxfa/parser/cxfa_formfieldfilling.h"
134 #include "xfa/fxfa/parser/cxfa_groupparent.h"
135 #include "xfa/fxfa/parser/cxfa_handler.h"
136 #include "xfa/fxfa/parser/cxfa_hyphenation.h"
137 #include "xfa/fxfa/parser/cxfa_ifempty.h"
138 #include "xfa/fxfa/parser/cxfa_image.h"
139 #include "xfa/fxfa/parser/cxfa_imageedit.h"
140 #include "xfa/fxfa/parser/cxfa_includexdpcontent.h"
141 #include "xfa/fxfa/parser/cxfa_incrementalload.h"
142 #include "xfa/fxfa/parser/cxfa_incrementalmerge.h"
143 #include "xfa/fxfa/parser/cxfa_insert.h"
144 #include "xfa/fxfa/parser/cxfa_instancemanager.h"
145 #include "xfa/fxfa/parser/cxfa_integer.h"
146 #include "xfa/fxfa/parser/cxfa_interactive.h"
147 #include "xfa/fxfa/parser/cxfa_issuers.h"
148 #include "xfa/fxfa/parser/cxfa_items.h"
149 #include "xfa/fxfa/parser/cxfa_jog.h"
150 #include "xfa/fxfa/parser/cxfa_keep.h"
151 #include "xfa/fxfa/parser/cxfa_keyusage.h"
152 #include "xfa/fxfa/parser/cxfa_labelprinter.h"
153 #include "xfa/fxfa/parser/cxfa_layout.h"
154 #include "xfa/fxfa/parser/cxfa_level.h"
155 #include "xfa/fxfa/parser/cxfa_line.h"
156 #include "xfa/fxfa/parser/cxfa_linear.h"
157 #include "xfa/fxfa/parser/cxfa_linearized.h"
158 #include "xfa/fxfa/parser/cxfa_locale.h"
159 #include "xfa/fxfa/parser/cxfa_localeset.h"
160 #include "xfa/fxfa/parser/cxfa_lockdocument.h"
161 #include "xfa/fxfa/parser/cxfa_log.h"
162 #include "xfa/fxfa/parser/cxfa_manifest.h"
163 #include "xfa/fxfa/parser/cxfa_map.h"
164 #include "xfa/fxfa/parser/cxfa_margin.h"
165 #include "xfa/fxfa/parser/cxfa_mdp.h"
166 #include "xfa/fxfa/parser/cxfa_medium.h"
167 #include "xfa/fxfa/parser/cxfa_mediuminfo.h"
168 #include "xfa/fxfa/parser/cxfa_meridiem.h"
169 #include "xfa/fxfa/parser/cxfa_meridiemnames.h"
170 #include "xfa/fxfa/parser/cxfa_message.h"
171 #include "xfa/fxfa/parser/cxfa_messaging.h"
172 #include "xfa/fxfa/parser/cxfa_mode.h"
173 #include "xfa/fxfa/parser/cxfa_modifyannots.h"
174 #include "xfa/fxfa/parser/cxfa_month.h"
175 #include "xfa/fxfa/parser/cxfa_monthnames.h"
176 #include "xfa/fxfa/parser/cxfa_msgid.h"
177 #include "xfa/fxfa/parser/cxfa_nameattr.h"
178 #include "xfa/fxfa/parser/cxfa_neverembed.h"
179 #include "xfa/fxfa/parser/cxfa_node.h"
180 #include "xfa/fxfa/parser/cxfa_numberofcopies.h"
181 #include "xfa/fxfa/parser/cxfa_numberpattern.h"
182 #include "xfa/fxfa/parser/cxfa_numberpatterns.h"
183 #include "xfa/fxfa/parser/cxfa_numbersymbol.h"
184 #include "xfa/fxfa/parser/cxfa_numbersymbols.h"
185 #include "xfa/fxfa/parser/cxfa_numericedit.h"
186 #include "xfa/fxfa/parser/cxfa_occur.h"
187 #include "xfa/fxfa/parser/cxfa_oid.h"
188 #include "xfa/fxfa/parser/cxfa_oids.h"
189 #include "xfa/fxfa/parser/cxfa_openaction.h"
190 #include "xfa/fxfa/parser/cxfa_operation.h"
191 #include "xfa/fxfa/parser/cxfa_output.h"
192 #include "xfa/fxfa/parser/cxfa_outputbin.h"
193 #include "xfa/fxfa/parser/cxfa_outputxsl.h"
194 #include "xfa/fxfa/parser/cxfa_overflow.h"
195 #include "xfa/fxfa/parser/cxfa_overprint.h"
196 #include "xfa/fxfa/parser/cxfa_packet.h"
197 #include "xfa/fxfa/parser/cxfa_packets.h"
198 #include "xfa/fxfa/parser/cxfa_pagearea.h"
199 #include "xfa/fxfa/parser/cxfa_pageoffset.h"
200 #include "xfa/fxfa/parser/cxfa_pagerange.h"
201 #include "xfa/fxfa/parser/cxfa_pageset.h"
202 #include "xfa/fxfa/parser/cxfa_pagination.h"
203 #include "xfa/fxfa/parser/cxfa_paginationoverride.h"
204 #include "xfa/fxfa/parser/cxfa_para.h"
205 #include "xfa/fxfa/parser/cxfa_part.h"
206 #include "xfa/fxfa/parser/cxfa_password.h"
207 #include "xfa/fxfa/parser/cxfa_passwordedit.h"
208 #include "xfa/fxfa/parser/cxfa_pattern.h"
209 #include "xfa/fxfa/parser/cxfa_pcl.h"
210 #include "xfa/fxfa/parser/cxfa_pdf.h"
211 #include "xfa/fxfa/parser/cxfa_pdfa.h"
212 #include "xfa/fxfa/parser/cxfa_permissions.h"
213 #include "xfa/fxfa/parser/cxfa_picktraybypdfsize.h"
214 #include "xfa/fxfa/parser/cxfa_picture.h"
215 #include "xfa/fxfa/parser/cxfa_plaintextmetadata.h"
216 #include "xfa/fxfa/parser/cxfa_presence.h"
217 #include "xfa/fxfa/parser/cxfa_present.h"
218 #include "xfa/fxfa/parser/cxfa_print.h"
219 #include "xfa/fxfa/parser/cxfa_printername.h"
220 #include "xfa/fxfa/parser/cxfa_printhighquality.h"
221 #include "xfa/fxfa/parser/cxfa_printscaling.h"
222 #include "xfa/fxfa/parser/cxfa_producer.h"
223 #include "xfa/fxfa/parser/cxfa_proto.h"
224 #include "xfa/fxfa/parser/cxfa_ps.h"
225 #include "xfa/fxfa/parser/cxfa_psmap.h"
226 #include "xfa/fxfa/parser/cxfa_query.h"
227 #include "xfa/fxfa/parser/cxfa_radial.h"
228 #include "xfa/fxfa/parser/cxfa_range.h"
229 #include "xfa/fxfa/parser/cxfa_reason.h"
230 #include "xfa/fxfa/parser/cxfa_reasons.h"
231 #include "xfa/fxfa/parser/cxfa_record.h"
232 #include "xfa/fxfa/parser/cxfa_recordset.h"
233 #include "xfa/fxfa/parser/cxfa_rectangle.h"
234 #include "xfa/fxfa/parser/cxfa_ref.h"
235 #include "xfa/fxfa/parser/cxfa_relevant.h"
236 #include "xfa/fxfa/parser/cxfa_rename.h"
237 #include "xfa/fxfa/parser/cxfa_renderpolicy.h"
238 #include "xfa/fxfa/parser/cxfa_rootelement.h"
239 #include "xfa/fxfa/parser/cxfa_runscripts.h"
240 #include "xfa/fxfa/parser/cxfa_script.h"
241 #include "xfa/fxfa/parser/cxfa_scriptmodel.h"
242 #include "xfa/fxfa/parser/cxfa_select.h"
243 #include "xfa/fxfa/parser/cxfa_setproperty.h"
244 #include "xfa/fxfa/parser/cxfa_severity.h"
245 #include "xfa/fxfa/parser/cxfa_sharptext.h"
246 #include "xfa/fxfa/parser/cxfa_sharpxhtml.h"
247 #include "xfa/fxfa/parser/cxfa_sharpxml.h"
248 #include "xfa/fxfa/parser/cxfa_signature.h"
249 #include "xfa/fxfa/parser/cxfa_signatureproperties.h"
250 #include "xfa/fxfa/parser/cxfa_signdata.h"
251 #include "xfa/fxfa/parser/cxfa_signing.h"
252 #include "xfa/fxfa/parser/cxfa_silentprint.h"
253 #include "xfa/fxfa/parser/cxfa_soapaction.h"
254 #include "xfa/fxfa/parser/cxfa_soapaddress.h"
255 #include "xfa/fxfa/parser/cxfa_solid.h"
256 #include "xfa/fxfa/parser/cxfa_source.h"
257 #include "xfa/fxfa/parser/cxfa_sourceset.h"
258 #include "xfa/fxfa/parser/cxfa_speak.h"
259 #include "xfa/fxfa/parser/cxfa_staple.h"
260 #include "xfa/fxfa/parser/cxfa_startnode.h"
261 #include "xfa/fxfa/parser/cxfa_startpage.h"
262 #include "xfa/fxfa/parser/cxfa_stipple.h"
263 #include "xfa/fxfa/parser/cxfa_subform.h"
264 #include "xfa/fxfa/parser/cxfa_subformset.h"
265 #include "xfa/fxfa/parser/cxfa_subjectdn.h"
266 #include "xfa/fxfa/parser/cxfa_subjectdns.h"
267 #include "xfa/fxfa/parser/cxfa_submit.h"
268 #include "xfa/fxfa/parser/cxfa_submitformat.h"
269 #include "xfa/fxfa/parser/cxfa_submiturl.h"
270 #include "xfa/fxfa/parser/cxfa_subsetbelow.h"
271 #include "xfa/fxfa/parser/cxfa_suppressbanner.h"
272 #include "xfa/fxfa/parser/cxfa_tagged.h"
273 #include "xfa/fxfa/parser/cxfa_template.h"
274 #include "xfa/fxfa/parser/cxfa_templatecache.h"
275 #include "xfa/fxfa/parser/cxfa_text.h"
276 #include "xfa/fxfa/parser/cxfa_textedit.h"
277 #include "xfa/fxfa/parser/cxfa_threshold.h"
278 #include "xfa/fxfa/parser/cxfa_time.h"
279 #include "xfa/fxfa/parser/cxfa_timepattern.h"
280 #include "xfa/fxfa/parser/cxfa_timepatterns.h"
281 #include "xfa/fxfa/parser/cxfa_timestamp.h"
282 #include "xfa/fxfa/parser/cxfa_to.h"
283 #include "xfa/fxfa/parser/cxfa_tooltip.h"
284 #include "xfa/fxfa/parser/cxfa_trace.h"
285 #include "xfa/fxfa/parser/cxfa_transform.h"
286 #include "xfa/fxfa/parser/cxfa_traversal.h"
287 #include "xfa/fxfa/parser/cxfa_traverse.h"
288 #include "xfa/fxfa/parser/cxfa_type.h"
289 #include "xfa/fxfa/parser/cxfa_typeface.h"
290 #include "xfa/fxfa/parser/cxfa_typefaces.h"
291 #include "xfa/fxfa/parser/cxfa_ui.h"
292 #include "xfa/fxfa/parser/cxfa_update.h"
293 #include "xfa/fxfa/parser/cxfa_uri.h"
294 #include "xfa/fxfa/parser/cxfa_user.h"
295 #include "xfa/fxfa/parser/cxfa_validate.h"
296 #include "xfa/fxfa/parser/cxfa_validateapprovalsignatures.h"
297 #include "xfa/fxfa/parser/cxfa_validationmessaging.h"
298 #include "xfa/fxfa/parser/cxfa_value.h"
299 #include "xfa/fxfa/parser/cxfa_variables.h"
300 #include "xfa/fxfa/parser/cxfa_version.h"
301 #include "xfa/fxfa/parser/cxfa_versioncontrol.h"
302 #include "xfa/fxfa/parser/cxfa_viewerpreferences.h"
303 #include "xfa/fxfa/parser/cxfa_webclient.h"
304 #include "xfa/fxfa/parser/cxfa_whitespace.h"
305 #include "xfa/fxfa/parser/cxfa_window.h"
306 #include "xfa/fxfa/parser/cxfa_wsdladdress.h"
307 #include "xfa/fxfa/parser/cxfa_wsdlconnection.h"
308 #include "xfa/fxfa/parser/cxfa_xdc.h"
309 #include "xfa/fxfa/parser/cxfa_xdp.h"
310 #include "xfa/fxfa/parser/cxfa_xfa.h"
311 #include "xfa/fxfa/parser/cxfa_xmlconnection.h"
312 #include "xfa/fxfa/parser/cxfa_xsdconnection.h"
313 #include "xfa/fxfa/parser/cxfa_xsl.h"
314 #include "xfa/fxfa/parser/cxfa_zpl.h"
315
316 namespace {
317
318 struct ElementNameInfo {
319 uint32_t hash;
320 XFA_Element element;
321 } ElementNameToEnum[] = {
322 {0x23ee3 /* ps */, XFA_Element::Ps},
323 {0x25363 /* to */, XFA_Element::To},
324 {0x2587e /* ui */, XFA_Element::Ui},
325 {0x1c648b /* recordSet */, XFA_Element::RecordSet},
326 {0x171428f /* subsetBelow */, XFA_Element::SubsetBelow},
327 {0x1a0776a /* subformSet */, XFA_Element::SubformSet},
328 {0x2340d70 /* adobeExtensionLevel */, XFA_Element::AdobeExtensionLevel},
329 {0x2c1c7f1 /* typeface */, XFA_Element::Typeface},
330 {0x5518c25 /* break */, XFA_Element::Break},
331 {0x5fff523 /* fontInfo */, XFA_Element::FontInfo},
332 {0x653a227 /* numberPattern */, XFA_Element::NumberPattern},
333 {0x65b4a05 /* dynamicRender */, XFA_Element::DynamicRender},
334 {0x7e4362e /* printScaling */, XFA_Element::PrintScaling},
335 {0x7fe6d3a /* checkButton */, XFA_Element::CheckButton},
336 {0x80cf58f /* datePatterns */, XFA_Element::DatePatterns},
337 {0x811929d /* sourceSet */, XFA_Element::SourceSet},
338 {0x9f9d612 /* amd */, XFA_Element::Amd},
339 {0x9f9efb6 /* arc */, XFA_Element::Arc},
340 {0xa48835e /* day */, XFA_Element::Day},
341 {0xa6328b8 /* era */, XFA_Element::Era},
342 {0xae6a0a0 /* jog */, XFA_Element::Jog},
343 {0xb1b3d22 /* log */, XFA_Element::Log},
344 {0xb35439e /* map */, XFA_Element::Map},
345 {0xb355301 /* mdp */, XFA_Element::Mdp},
346 {0xb420438 /* breakBefore */, XFA_Element::BreakBefore},
347 {0xb6a091c /* oid */, XFA_Element::Oid},
348 {0xb84389f /* pcl */, XFA_Element::Pcl},
349 {0xb843dba /* pdf */, XFA_Element::Pdf},
350 {0xbb8df5d /* ref */, XFA_Element::Ref},
351 {0xc080cd0 /* uri */, XFA_Element::Uri},
352 {0xc56afbf /* xdc */, XFA_Element::Xdc},
353 {0xc56afcc /* xdp */, XFA_Element::Xdp},
354 {0xc56b9ff /* xfa */, XFA_Element::Xfa},
355 {0xc56fcb7 /* xsl */, XFA_Element::Xsl},
356 {0xc8b89d6 /* zpl */, XFA_Element::Zpl},
357 {0xc9bae94 /* cache */, XFA_Element::Cache},
358 {0xcb016be /* margin */, XFA_Element::Margin},
359 {0xe1378fe /* keyUsage */, XFA_Element::KeyUsage},
360 {0xfe3596a /* exclude */, XFA_Element::Exclude},
361 {0x10395ac7 /* choiceList */, XFA_Element::ChoiceList},
362 {0x1059ec18 /* level */, XFA_Element::Level},
363 {0x10874804 /* labelPrinter */, XFA_Element::LabelPrinter},
364 {0x10c40e03 /* calendarSymbols */, XFA_Element::CalendarSymbols},
365 {0x10f1ea24 /* para */, XFA_Element::Para},
366 {0x10f1ea37 /* part */, XFA_Element::Part},
367 {0x1140975b /* pdfa */, XFA_Element::Pdfa},
368 {0x1154efe6 /* filter */, XFA_Element::Filter},
369 {0x13f41de1 /* present */, XFA_Element::Present},
370 {0x1827e6ea /* pagination */, XFA_Element::Pagination},
371 {0x18463707 /* encoding */, XFA_Element::Encoding},
372 {0x185e41e2 /* event */, XFA_Element::Event},
373 {0x1adb142d /* whitespace */, XFA_Element::Whitespace},
374 {0x1f3f64c3 /* defaultUi */, XFA_Element::DefaultUi},
375 {0x204e87cb /* dataModel */, XFA_Element::DataModel},
376 {0x2057b350 /* barcode */, XFA_Element::Barcode},
377 {0x20596bad /* timePattern */, XFA_Element::TimePattern},
378 {0x210b74d3 /* batchOutput */, XFA_Element::BatchOutput},
379 {0x212ff0e2 /* enforce */, XFA_Element::Enforce},
380 {0x21d351b4 /* currencySymbols */, XFA_Element::CurrencySymbols},
381 {0x21db83c5 /* addSilentPrint */, XFA_Element::AddSilentPrint},
382 {0x22266258 /* rename */, XFA_Element::Rename},
383 {0x226ca8f1 /* operation */, XFA_Element::Operation},
384 {0x23e27b84 /* typefaces */, XFA_Element::Typefaces},
385 {0x23f4aa75 /* subjectDNs */, XFA_Element::SubjectDNs},
386 {0x240d5e8e /* issuers */, XFA_Element::Issuers},
387 {0x24a52f8a /* wsdlConnection */, XFA_Element::WsdlConnection},
388 {0x254ebd07 /* debug */, XFA_Element::Debug},
389 {0x2655c66a /* delta */, XFA_Element::Delta},
390 {0x26c0daec /* eraNames */, XFA_Element::EraNames},
391 {0x273ab03b /* modifyAnnots */, XFA_Element::ModifyAnnots},
392 {0x27875bb4 /* startNode */, XFA_Element::StartNode},
393 {0x285d0dbc /* button */, XFA_Element::Button},
394 {0x28dee6e9 /* format */, XFA_Element::Format},
395 {0x2a23349e /* border */, XFA_Element::Border},
396 {0x2ae67f19 /* area */, XFA_Element::Area},
397 {0x2c3c4c67 /* hyphenation */, XFA_Element::Hyphenation},
398 {0x2d08af85 /* text */, XFA_Element::Text},
399 {0x2d71b00f /* time */, XFA_Element::Time},
400 {0x2f16a382 /* type */, XFA_Element::Type},
401 {0x2fe057e9 /* overprint */, XFA_Element::Overprint},
402 {0x302aee16 /* certificates */, XFA_Element::Certificates},
403 {0x30b227df /* encryptionMethods */, XFA_Element::EncryptionMethods},
404 {0x32b900d1 /* setProperty */, XFA_Element::SetProperty},
405 {0x337d9e45 /* printerName */, XFA_Element::PrinterName},
406 {0x33edda4b /* startPage */, XFA_Element::StartPage},
407 {0x381943e4 /* pageOffset */, XFA_Element::PageOffset},
408 {0x382106cd /* dateTime */, XFA_Element::DateTime},
409 {0x386e7421 /* comb */, XFA_Element::Comb},
410 {0x390acd9e /* pattern */, XFA_Element::Pattern},
411 {0x3942163e /* ifEmpty */, XFA_Element::IfEmpty},
412 {0x39944a7b /* suppressBanner */, XFA_Element::SuppressBanner},
413 {0x3b3c3dca /* outputBin */, XFA_Element::OutputBin},
414 {0x3b8a4024 /* field */, XFA_Element::Field},
415 {0x3c15352f /* agent */, XFA_Element::Agent},
416 {0x3d7e8668 /* outputXSL */, XFA_Element::OutputXSL},
417 {0x3e1c91c5 /* adjustData */, XFA_Element::AdjustData},
418 {0x3e7a9408 /* autoSave */, XFA_Element::AutoSave},
419 {0x3ecead94 /* contentArea */, XFA_Element::ContentArea},
420 {0x3fadaec0 /* wsdlAddress */, XFA_Element::WsdlAddress},
421 {0x40623b5b /* solid */, XFA_Element::Solid},
422 {0x41f0bd76 /* dateTimeSymbols */, XFA_Element::DateTimeSymbols},
423 {0x444e7523 /* encryptionLevel */, XFA_Element::EncryptionLevel},
424 {0x4523af55 /* edge */, XFA_Element::Edge},
425 {0x45d5e3c1 /* stipple */, XFA_Element::Stipple},
426 {0x475e4e87 /* attributes */, XFA_Element::Attributes},
427 {0x487a8c87 /* versionControl */, XFA_Element::VersionControl},
428 {0x48e5248c /* meridiem */, XFA_Element::Meridiem},
429 {0x48f36719 /* exclGroup */, XFA_Element::ExclGroup},
430 {0x4977356b /* toolTip */, XFA_Element::ToolTip},
431 {0x499afecc /* compress */, XFA_Element::Compress},
432 {0x4a0c4948 /* reason */, XFA_Element::Reason},
433 {0x4bdcce13 /* execute */, XFA_Element::Execute},
434 {0x4c56b216 /* contentCopy */, XFA_Element::ContentCopy},
435 {0x4cc176d3 /* dateTimeEdit */, XFA_Element::DateTimeEdit},
436 {0x4e1e39b6 /* config */, XFA_Element::Config},
437 {0x4e2d6083 /* image */, XFA_Element::Image},
438 {0x4e814150 /* #xHTML */, XFA_Element::SharpxHTML},
439 {0x4f2388c1 /* numberOfCopies */, XFA_Element::NumberOfCopies},
440 {0x4f512e30 /* behaviorOverride */, XFA_Element::BehaviorOverride},
441 {0x4fdc3454 /* timeStamp */, XFA_Element::TimeStamp},
442 {0x51d90546 /* month */, XFA_Element::Month},
443 {0x523437e4 /* viewerPreferences */, XFA_Element::ViewerPreferences},
444 {0x53abc1c6 /* scriptModel */, XFA_Element::ScriptModel},
445 {0x54034c2f /* decimal */, XFA_Element::Decimal},
446 {0x54202c9e /* subform */, XFA_Element::Subform},
447 {0x542c7300 /* select */, XFA_Element::Select},
448 {0x5436d198 /* window */, XFA_Element::Window},
449 {0x5473b6dc /* localeSet */, XFA_Element::LocaleSet},
450 {0x56ae179e /* handler */, XFA_Element::Handler},
451 {0x570ce835 /* presence */, XFA_Element::Presence},
452 {0x5779d65f /* record */, XFA_Element::Record},
453 {0x59c8f27d /* embed */, XFA_Element::Embed},
454 {0x5a50e9e6 /* version */, XFA_Element::Version},
455 {0x5b8383df /* command */, XFA_Element::Command},
456 {0x5c43c6c3 /* copies */, XFA_Element::Copies},
457 {0x5e0c2c49 /* staple */, XFA_Element::Staple},
458 {0x5e5083dd /* submitFormat */, XFA_Element::SubmitFormat},
459 {0x5e8c5d20 /* boolean */, XFA_Element::Boolean},
460 {0x60490a85 /* message */, XFA_Element::Message},
461 {0x60d4c8b1 /* output */, XFA_Element::Output},
462 {0x61810081 /* psMap */, XFA_Element::PsMap},
463 {0x62bd904b /* excludeNS */, XFA_Element::ExcludeNS},
464 {0x669d4f77 /* assist */, XFA_Element::Assist},
465 {0x67334a1c /* picture */, XFA_Element::Picture},
466 {0x67fe7334 /* traversal */, XFA_Element::Traversal},
467 {0x6894589c /* silentPrint */, XFA_Element::SilentPrint},
468 {0x68a16bbd /* webClient */, XFA_Element::WebClient},
469 {0x6a4bc084 /* producer */, XFA_Element::Producer},
470 {0x6a9e04c9 /* corner */, XFA_Element::Corner},
471 {0x6ccd7274 /* msgId */, XFA_Element::MsgId},
472 {0x6e67921f /* color */, XFA_Element::Color},
473 {0x6ec217a5 /* keep */, XFA_Element::Keep},
474 {0x6eef1116 /* query */, XFA_Element::Query},
475 {0x7033bfd5 /* insert */, XFA_Element::Insert},
476 {0x704af389 /* imageEdit */, XFA_Element::ImageEdit},
477 {0x7233018a /* validate */, XFA_Element::Validate},
478 {0x72ba47b4 /* digestMethods */, XFA_Element::DigestMethods},
479 {0x72f2aa7a /* numberPatterns */, XFA_Element::NumberPatterns},
480 {0x74caed29 /* pageSet */, XFA_Element::PageSet},
481 {0x7568e6ae /* integer */, XFA_Element::Integer},
482 {0x76182db9 /* soapAddress */, XFA_Element::SoapAddress},
483 {0x773146c5 /* equate */, XFA_Element::Equate},
484 {0x77d449dd /* formFieldFilling */, XFA_Element::FormFieldFilling},
485 {0x7889d68a /* pageRange */, XFA_Element::PageRange},
486 {0x7baca2e3 /* update */, XFA_Element::Update},
487 {0x7ce89001 /* connectString */, XFA_Element::ConnectString},
488 {0x7d9fd7c5 /* mode */, XFA_Element::Mode},
489 {0x7e7e845e /* layout */, XFA_Element::Layout},
490 {0x7e845c34 /* #xml */, XFA_Element::Sharpxml},
491 {0x7fb341df /* xsdConnection */, XFA_Element::XsdConnection},
492 {0x7ffb51cc /* traverse */, XFA_Element::Traverse},
493 {0x80203b5a /* encodings */, XFA_Element::Encodings},
494 {0x803550fc /* template */, XFA_Element::Template},
495 {0x803d5bbc /* acrobat */, XFA_Element::Acrobat},
496 {0x821d6569 /* validationMessaging */, XFA_Element::ValidationMessaging},
497 {0x830e688f /* signing */, XFA_Element::Signing},
498 {0x83dab9f5 /* script */, XFA_Element::Script},
499 {0x8411ebcd /* addViewerPreferences */, XFA_Element::AddViewerPreferences},
500 {0x8777642e /* alwaysEmbed */, XFA_Element::AlwaysEmbed},
501 {0x877a6b39 /* passwordEdit */, XFA_Element::PasswordEdit},
502 {0x87e84c99 /* numericEdit */, XFA_Element::NumericEdit},
503 {0x8852cdec /* encryptionMethod */, XFA_Element::EncryptionMethod},
504 {0x891f4606 /* change */, XFA_Element::Change},
505 {0x89939f36 /* pageArea */, XFA_Element::PageArea},
506 {0x8a9d6247 /* submitUrl */, XFA_Element::SubmitUrl},
507 {0x8ad8b90f /* oids */, XFA_Element::Oids},
508 {0x8b036f32 /* signature */, XFA_Element::Signature},
509 {0x8b128efb /* ADBE_JSConsole */, XFA_Element::ADBE_JSConsole},
510 {0x8bcfe96e /* caption */, XFA_Element::Caption},
511 {0x8e1c2921 /* relevant */, XFA_Element::Relevant},
512 {0x8e3f0a4b /* flipLabel */, XFA_Element::FlipLabel},
513 {0x900280b7 /* exData */, XFA_Element::ExData},
514 {0x91e80352 /* dayNames */, XFA_Element::DayNames},
515 {0x93113b11 /* soapAction */, XFA_Element::SoapAction},
516 {0x938b09f6 /* defaultTypeface */, XFA_Element::DefaultTypeface},
517 {0x95b37897 /* manifest */, XFA_Element::Manifest},
518 {0x97b76b54 /* overflow */, XFA_Element::Overflow},
519 {0x9a57861b /* linear */, XFA_Element::Linear},
520 {0x9ad5a821 /* currencySymbol */, XFA_Element::CurrencySymbol},
521 {0x9c6471b3 /* delete */, XFA_Element::Delete},
522 {0x9deea61d /* deltas */, XFA_Element::Deltas},
523 {0x9e67de21 /* digestMethod */, XFA_Element::DigestMethod},
524 {0x9f3e9510 /* instanceManager */, XFA_Element::InstanceManager},
525 {0xa0799892 /* equateRange */, XFA_Element::EquateRange},
526 {0xa084a381 /* medium */, XFA_Element::Medium},
527 {0xa1211b8b /* textEdit */, XFA_Element::TextEdit},
528 {0xa17008f0 /* templateCache */, XFA_Element::TemplateCache},
529 {0xa4f7b88f /* compressObjectStream */, XFA_Element::CompressObjectStream},
530 {0xa65f5d17 /* dataValue */, XFA_Element::DataValue},
531 {0xa6caaa89 /* accessibleContent */, XFA_Element::AccessibleContent},
532 {0xa94cc00b /* includeXDPContent */, XFA_Element::IncludeXDPContent},
533 {0xa9b081a1 /* xmlConnection */, XFA_Element::XmlConnection},
534 {0xab2a3b74 /* validateApprovalSignatures */,
535 XFA_Element::ValidateApprovalSignatures},
536 {0xab8c5a2b /* signData */, XFA_Element::SignData},
537 {0xabaa2ceb /* packets */, XFA_Element::Packets},
538 {0xadba359c /* datePattern */, XFA_Element::DatePattern},
539 {0xae222b2b /* duplexOption */, XFA_Element::DuplexOption},
540 {0xb012effb /* base */, XFA_Element::Base},
541 {0xb0e5485d /* bind */, XFA_Element::Bind},
542 {0xb45d61b2 /* compression */, XFA_Element::Compression},
543 {0xb563f0ff /* user */, XFA_Element::User},
544 {0xb5848ad5 /* rectangle */, XFA_Element::Rectangle},
545 {0xb6dacb72 /* effectiveOutputPolicy */,
546 XFA_Element::EffectiveOutputPolicy},
547 {0xb7d7654d /* ADBE_JSDebugger */, XFA_Element::ADBE_JSDebugger},
548 {0xbab37f73 /* acrobat7 */, XFA_Element::Acrobat7},
549 {0xbc70081e /* interactive */, XFA_Element::Interactive},
550 {0xbc8fa350 /* locale */, XFA_Element::Locale},
551 {0xbcd44940 /* currentPage */, XFA_Element::CurrentPage},
552 {0xbde9abda /* data */, XFA_Element::Data},
553 {0xbde9abde /* date */, XFA_Element::Date},
554 {0xbe52dfbf /* desc */, XFA_Element::Desc},
555 {0xbf4b6405 /* encrypt */, XFA_Element::Encrypt},
556 {0xbfa87cce /* draw */, XFA_Element::Draw},
557 {0xc181ff4b /* encryption */, XFA_Element::Encryption},
558 {0xc1970f40 /* meridiemNames */, XFA_Element::MeridiemNames},
559 {0xc5ad9f5e /* messaging */, XFA_Element::Messaging},
560 {0xc69549f4 /* speak */, XFA_Element::Speak},
561 {0xc7743dc7 /* dataGroup */, XFA_Element::DataGroup},
562 {0xc7eb20e9 /* common */, XFA_Element::Common},
563 {0xc85d4528 /* #text */, XFA_Element::Sharptext},
564 {0xc861556a /* paginationOverride */, XFA_Element::PaginationOverride},
565 {0xc903dabb /* reasons */, XFA_Element::Reasons},
566 {0xc9a8127f /* signatureProperties */, XFA_Element::SignatureProperties},
567 {0xca010c2d /* threshold */, XFA_Element::Threshold},
568 {0xcb4c5e96 /* appearanceFilter */, XFA_Element::AppearanceFilter},
569 {0xcc92aba7 /* fill */, XFA_Element::Fill},
570 {0xcd308b77 /* font */, XFA_Element::Font},
571 {0xcd309ff4 /* form */, XFA_Element::Form},
572 {0xcebcca2d /* mediumInfo */, XFA_Element::MediumInfo},
573 {0xcfe0d643 /* certificate */, XFA_Element::Certificate},
574 {0xd012c033 /* password */, XFA_Element::Password},
575 {0xd01604bd /* runScripts */, XFA_Element::RunScripts},
576 {0xd1227e6f /* trace */, XFA_Element::Trace},
577 {0xd1532876 /* float */, XFA_Element::Float},
578 {0xd17a6c30 /* renderPolicy */, XFA_Element::RenderPolicy},
579 {0xd58aa962 /* destination */, XFA_Element::Destination},
580 {0xd6e27f1d /* value */, XFA_Element::Value},
581 {0xd7a14462 /* bookend */, XFA_Element::Bookend},
582 {0xd8c31254 /* exObject */, XFA_Element::ExObject},
583 {0xda6a8590 /* openAction */, XFA_Element::OpenAction},
584 {0xdab4fb7d /* neverEmbed */, XFA_Element::NeverEmbed},
585 {0xdb98475f /* bindItems */, XFA_Element::BindItems},
586 {0xdbfbe02e /* calculate */, XFA_Element::Calculate},
587 {0xdd7676ed /* print */, XFA_Element::Print},
588 {0xdde273d7 /* extras */, XFA_Element::Extras},
589 {0xde146b34 /* proto */, XFA_Element::Proto},
590 {0xdf059321 /* dSigData */, XFA_Element::DSigData},
591 {0xdfccf030 /* creator */, XFA_Element::Creator},
592 {0xdff78c6a /* connect */, XFA_Element::Connect},
593 {0xe11a2cbc /* permissions */, XFA_Element::Permissions},
594 {0xe14c801c /* connectionSet */, XFA_Element::ConnectionSet},
595 {0xe1c83a14 /* submit */, XFA_Element::Submit},
596 {0xe29821cd /* range */, XFA_Element::Range},
597 {0xe38d83c7 /* linearized */, XFA_Element::Linearized},
598 {0xe3aa2578 /* packet */, XFA_Element::Packet},
599 {0xe3aa860e /* rootElement */, XFA_Element::RootElement},
600 {0xe3e553fa /* plaintextMetadata */, XFA_Element::PlaintextMetadata},
601 {0xe3e6e4f2 /* numberSymbols */, XFA_Element::NumberSymbols},
602 {0xe3f067f6 /* printHighQuality */, XFA_Element::PrintHighQuality},
603 {0xe3fd078c /* driver */, XFA_Element::Driver},
604 {0xe48b34f2 /* incrementalLoad */, XFA_Element::IncrementalLoad},
605 {0xe550e7c2 /* subjectDN */, XFA_Element::SubjectDN},
606 {0xe6669a78 /* compressLogicalStructure */,
607 XFA_Element::CompressLogicalStructure},
608 {0xe7a7ea02 /* incrementalMerge */, XFA_Element::IncrementalMerge},
609 {0xe948530d /* radial */, XFA_Element::Radial},
610 {0xea8d6999 /* variables */, XFA_Element::Variables},
611 {0xeaa142c0 /* timePatterns */, XFA_Element::TimePatterns},
612 {0xeb943a71 /* effectiveInputPolicy */, XFA_Element::EffectiveInputPolicy},
613 {0xef04a2bc /* nameAttr */, XFA_Element::NameAttr},
614 {0xf07222ab /* conformance */, XFA_Element::Conformance},
615 {0xf0aaaadc /* transform */, XFA_Element::Transform},
616 {0xf1433e88 /* lockDocument */, XFA_Element::LockDocument},
617 {0xf54eb997 /* breakAfter */, XFA_Element::BreakAfter},
618 {0xf616da28 /* line */, XFA_Element::Line},
619 {0xf7055fb1 /* source */, XFA_Element::Source},
620 {0xf7eebe1c /* occur */, XFA_Element::Occur},
621 {0xf8d10d97 /* pickTrayByPDFSize */, XFA_Element::PickTrayByPDFSize},
622 {0xf8f19e3a /* monthNames */, XFA_Element::MonthNames},
623 {0xf984149b /* severity */, XFA_Element::Severity},
624 {0xf9bcb037 /* groupParent */, XFA_Element::GroupParent},
625 {0xfbc42fff /* documentAssembly */, XFA_Element::DocumentAssembly},
626 {0xfc78159f /* numberSymbol */, XFA_Element::NumberSymbol},
627 {0xfcbd606c /* tagged */, XFA_Element::Tagged},
628 {0xff063802 /* items */, XFA_Element::Items},
629 };
630
631 struct AttributeNameInfo {
632 uint32_t hash;
633 XFA_Attribute attribute;
634 } AttributeNameInfoToEnum[] = {
635 {0x68 /* h */, XFA_Attribute::H},
636 {0x77 /* w */, XFA_Attribute::W},
637 {0x78 /* x */, XFA_Attribute::X},
638 {0x79 /* y */, XFA_Attribute::Y},
639 {0x21aed /* id */, XFA_Attribute::Id},
640 {0x25363 /* to */, XFA_Attribute::To},
641 {0xcb0ac9 /* lineThrough */, XFA_Attribute::LineThrough},
642 {0x2282c73 /* hAlign */, XFA_Attribute::HAlign},
643 {0x2c1c7f1 /* typeface */, XFA_Attribute::Typeface},
644 {0x3106c3a /* beforeTarget */, XFA_Attribute::BeforeTarget},
645 {0x31b19c1 /* name */, XFA_Attribute::Name},
646 {0x3848b3f /* next */, XFA_Attribute::Next},
647 {0x43e349b /* dataRowCount */, XFA_Attribute::DataRowCount},
648 {0x5518c25 /* break */, XFA_Attribute::Break},
649 {0x5ce6195 /* vScrollPolicy */, XFA_Attribute::VScrollPolicy},
650 {0x8c74ae9 /* fontHorizontalScale */, XFA_Attribute::FontHorizontalScale},
651 {0x8d4f1c7 /* textIndent */, XFA_Attribute::TextIndent},
652 {0x97c1c65 /* context */, XFA_Attribute::Context},
653 {0x9876578 /* trayOut */, XFA_Attribute::TrayOut},
654 {0xa2e3514 /* cap */, XFA_Attribute::Cap},
655 {0xb3543a6 /* max */, XFA_Attribute::Max},
656 {0xb356ca4 /* min */, XFA_Attribute::Min},
657 {0xbb8df5d /* ref */, XFA_Attribute::Ref},
658 {0xbb8f3df /* rid */, XFA_Attribute::Rid},
659 {0xc080cd3 /* url */, XFA_Attribute::Url},
660 {0xc0811ed /* use */, XFA_Attribute::Use},
661 {0xcfea02e /* leftInset */, XFA_Attribute::LeftInset},
662 {0x1026c59d /* widows */, XFA_Attribute::Widows},
663 {0x1059ec18 /* level */, XFA_Attribute::Level},
664 {0x1356caf8 /* bottomInset */, XFA_Attribute::BottomInset},
665 {0x13a08bdb /* overflowTarget */, XFA_Attribute::OverflowTarget},
666 {0x1414d431 /* allowMacro */, XFA_Attribute::AllowMacro},
667 {0x14a32d52 /* pagePosition */, XFA_Attribute::PagePosition},
668 {0x1517dfa1 /* columnWidths */, XFA_Attribute::ColumnWidths},
669 {0x169134a1 /* overflowLeader */, XFA_Attribute::OverflowLeader},
670 {0x1b8dce3e /* action */, XFA_Attribute::Action},
671 {0x1e459b8f /* nonRepudiation */, XFA_Attribute::NonRepudiation},
672 {0x1ec8ab2c /* rate */, XFA_Attribute::Rate},
673 {0x1ef3a64a /* allowRichText */, XFA_Attribute::AllowRichText},
674 {0x2038c9b2 /* role */, XFA_Attribute::Role},
675 {0x20914367 /* overflowTrailer */, XFA_Attribute::OverflowTrailer},
676 {0x226ca8f1 /* operation */, XFA_Attribute::Operation},
677 {0x24d85167 /* timeout */, XFA_Attribute::Timeout},
678 {0x25764436 /* topInset */, XFA_Attribute::TopInset},
679 {0x25839852 /* access */, XFA_Attribute::Access},
680 {0x268b7ec1 /* commandType */, XFA_Attribute::CommandType},
681 {0x28dee6e9 /* format */, XFA_Attribute::Format},
682 {0x28e17e91 /* dataPrep */, XFA_Attribute::DataPrep},
683 {0x292b88fe /* widgetData */, XFA_Attribute::WidgetData},
684 {0x29418bb7 /* abbr */, XFA_Attribute::Abbr},
685 {0x2a82d99c /* marginRight */, XFA_Attribute::MarginRight},
686 {0x2b5df51e /* dataDescription */, XFA_Attribute::DataDescription},
687 {0x2bb3f470 /* encipherOnly */, XFA_Attribute::EncipherOnly},
688 {0x2cd79033 /* kerningMode */, XFA_Attribute::KerningMode},
689 {0x2ee7678f /* rotate */, XFA_Attribute::Rotate},
690 {0x2f105f72 /* wordCharacterCount */, XFA_Attribute::WordCharacterCount},
691 {0x2f16a382 /* type */, XFA_Attribute::Type},
692 {0x34ae103c /* reserve */, XFA_Attribute::Reserve},
693 {0x3650557e /* textLocation */, XFA_Attribute::TextLocation},
694 {0x39cdb0a2 /* priority */, XFA_Attribute::Priority},
695 {0x3a0273a6 /* underline */, XFA_Attribute::Underline},
696 {0x3b582286 /* moduleWidth */, XFA_Attribute::ModuleWidth},
697 {0x3d123c26 /* hyphenate */, XFA_Attribute::Hyphenate},
698 {0x3e7af94f /* listen */, XFA_Attribute::Listen},
699 {0x4156ee3f /* delimiter */, XFA_Attribute::Delimiter},
700 {0x42fed1fd /* contentType */, XFA_Attribute::ContentType},
701 {0x453eaf38 /* startNew */, XFA_Attribute::StartNew},
702 {0x45a6daf8 /* eofAction */, XFA_Attribute::EofAction},
703 {0x47cfa43a /* allowNeutral */, XFA_Attribute::AllowNeutral},
704 {0x47d03490 /* connection */, XFA_Attribute::Connection},
705 {0x4873c601 /* baselineShift */, XFA_Attribute::BaselineShift},
706 {0x4b319767 /* overlinePeriod */, XFA_Attribute::OverlinePeriod},
707 {0x4b8bc840 /* fracDigits */, XFA_Attribute::FracDigits},
708 {0x4ef3d02c /* orientation */, XFA_Attribute::Orientation},
709 {0x4fdc3454 /* timeStamp */, XFA_Attribute::TimeStamp},
710 {0x52666f1c /* printCheckDigit */, XFA_Attribute::PrintCheckDigit},
711 {0x534729c9 /* marginLeft */, XFA_Attribute::MarginLeft},
712 {0x5392ea58 /* stroke */, XFA_Attribute::Stroke},
713 {0x5404d6df /* moduleHeight */, XFA_Attribute::ModuleHeight},
714 {0x54fa722c /* transferEncoding */, XFA_Attribute::TransferEncoding},
715 {0x552d9ad5 /* usage */, XFA_Attribute::Usage},
716 {0x570ce835 /* presence */, XFA_Attribute::Presence},
717 {0x5739d1ff /* radixOffset */, XFA_Attribute::RadixOffset},
718 {0x577682ac /* preserve */, XFA_Attribute::Preserve},
719 {0x58be2870 /* aliasNode */, XFA_Attribute::AliasNode},
720 {0x5a32e493 /* multiLine */, XFA_Attribute::MultiLine},
721 {0x5a50e9e6 /* version */, XFA_Attribute::Version},
722 {0x5ab23b6c /* startChar */, XFA_Attribute::StartChar},
723 {0x5b707a35 /* scriptTest */, XFA_Attribute::ScriptTest},
724 {0x5c054755 /* startAngle */, XFA_Attribute::StartAngle},
725 {0x5ec958c0 /* cursorType */, XFA_Attribute::CursorType},
726 {0x5f760b50 /* digitalSignature */, XFA_Attribute::DigitalSignature},
727 {0x60a61edd /* codeType */, XFA_Attribute::CodeType},
728 {0x60d4c8b1 /* output */, XFA_Attribute::Output},
729 {0x64110ab5 /* bookendTrailer */, XFA_Attribute::BookendTrailer},
730 {0x65e30c67 /* imagingBBox */, XFA_Attribute::ImagingBBox},
731 {0x66539c48 /* excludeInitialCap */, XFA_Attribute::ExcludeInitialCap},
732 {0x66642f8f /* force */, XFA_Attribute::Force},
733 {0x69aa2292 /* crlSign */, XFA_Attribute::CrlSign},
734 {0x6a3405dd /* previous */, XFA_Attribute::Previous},
735 {0x6a95c976 /* pushCharacterCount */, XFA_Attribute::PushCharacterCount},
736 {0x6b6ddcfb /* nullTest */, XFA_Attribute::NullTest},
737 {0x6cfa828a /* runAt */, XFA_Attribute::RunAt},
738 {0x731e0665 /* spaceBelow */, XFA_Attribute::SpaceBelow},
739 {0x74788f8b /* sweepAngle */, XFA_Attribute::SweepAngle},
740 {0x78bff531 /* numberOfCells */, XFA_Attribute::NumberOfCells},
741 {0x79543055 /* letterSpacing */, XFA_Attribute::LetterSpacing},
742 {0x79975f2b /* lockType */, XFA_Attribute::LockType},
743 {0x7a0cc471 /* passwordChar */, XFA_Attribute::PasswordChar},
744 {0x7a7cc341 /* vAlign */, XFA_Attribute::VAlign},
745 {0x7b29630a /* sourceBelow */, XFA_Attribute::SourceBelow},
746 {0x7b95e661 /* inverted */, XFA_Attribute::Inverted},
747 {0x7c2fd80b /* mark */, XFA_Attribute::Mark},
748 {0x7c2ff6ae /* maxH */, XFA_Attribute::MaxH},
749 {0x7c2ff6bd /* maxW */, XFA_Attribute::MaxW},
750 {0x7c732a66 /* truncate */, XFA_Attribute::Truncate},
751 {0x7d02356c /* minH */, XFA_Attribute::MinH},
752 {0x7d02357b /* minW */, XFA_Attribute::MinW},
753 {0x7d0b5fca /* initial */, XFA_Attribute::Initial},
754 {0x7d9fd7c5 /* mode */, XFA_Attribute::Mode},
755 {0x7e7e845e /* layout */, XFA_Attribute::Layout},
756 {0x7f6fd3d7 /* server */, XFA_Attribute::Server},
757 {0x824f21b7 /* embedPDF */, XFA_Attribute::EmbedPDF},
758 {0x8340ea66 /* oddOrEven */, XFA_Attribute::OddOrEven},
759 {0x836d4d7c /* tabDefault */, XFA_Attribute::TabDefault},
760 {0x8855805f /* contains */, XFA_Attribute::Contains},
761 {0x8a692521 /* rightInset */, XFA_Attribute::RightInset},
762 {0x8af2e657 /* maxChars */, XFA_Attribute::MaxChars},
763 {0x8b90e1f2 /* open */, XFA_Attribute::Open},
764 {0x8c99377e /* relation */, XFA_Attribute::Relation},
765 {0x8d181d61 /* wideNarrowRatio */, XFA_Attribute::WideNarrowRatio},
766 {0x8e1c2921 /* relevant */, XFA_Attribute::Relevant},
767 {0x8e29d794 /* signatureType */, XFA_Attribute::SignatureType},
768 {0x8ec6204c /* lineThroughPeriod */, XFA_Attribute::LineThroughPeriod},
769 {0x8ed182d1 /* shape */, XFA_Attribute::Shape},
770 {0x8fa01790 /* tabStops */, XFA_Attribute::TabStops},
771 {0x8fc36c0a /* outputBelow */, XFA_Attribute::OutputBelow},
772 {0x9041d4b0 /* short */, XFA_Attribute::Short},
773 {0x907c7719 /* fontVerticalScale */, XFA_Attribute::FontVerticalScale},
774 {0x94446dcc /* thickness */, XFA_Attribute::Thickness},
775 {0x957fa006 /* commitOn */, XFA_Attribute::CommitOn},
776 {0x982bd892 /* remainCharacterCount */,
777 XFA_Attribute::RemainCharacterCount},
778 {0x98fd4d81 /* keyAgreement */, XFA_Attribute::KeyAgreement},
779 {0x99800d7a /* errorCorrectionLevel */,
780 XFA_Attribute::ErrorCorrectionLevel},
781 {0x9a63da3d /* upsMode */, XFA_Attribute::UpsMode},
782 {0x9cc17d75 /* mergeMode */, XFA_Attribute::MergeMode},
783 {0x9d833d75 /* circular */, XFA_Attribute::Circular},
784 {0x9d8ee204 /* psName */, XFA_Attribute::PsName},
785 {0x9dcc3ab3 /* trailer */, XFA_Attribute::Trailer},
786 {0xa0933954 /* unicodeRange */, XFA_Attribute::UnicodeRange},
787 {0xa1b0d2f5 /* executeType */, XFA_Attribute::ExecuteType},
788 {0xa25a883d /* duplexImposition */, XFA_Attribute::DuplexImposition},
789 {0xa42ca1b7 /* trayIn */, XFA_Attribute::TrayIn},
790 {0xa433f001 /* bindingNode */, XFA_Attribute::BindingNode},
791 {0xa5340ff5 /* bofAction */, XFA_Attribute::BofAction},
792 {0xa5b410cf /* save */, XFA_Attribute::Save},
793 {0xa6118c89 /* targetType */, XFA_Attribute::TargetType},
794 {0xa66404cb /* keyEncipherment */, XFA_Attribute::KeyEncipherment},
795 {0xa6710262 /* credentialServerPolicy */,
796 XFA_Attribute::CredentialServerPolicy},
797 {0xa686975b /* size */, XFA_Attribute::Size},
798 {0xa85e74f3 /* initialNumber */, XFA_Attribute::InitialNumber},
799 {0xabef37e3 /* slope */, XFA_Attribute::Slope},
800 {0xabfa6c4f /* cSpace */, XFA_Attribute::CSpace},
801 {0xac06e2b0 /* colSpan */, XFA_Attribute::ColSpan},
802 {0xadc4c77b /* binding */, XFA_Attribute::Binding},
803 {0xaf754613 /* checksum */, XFA_Attribute::Checksum},
804 {0xb045fbc5 /* charEncoding */, XFA_Attribute::CharEncoding},
805 {0xb0e5485d /* bind */, XFA_Attribute::Bind},
806 {0xb12128b7 /* textEntry */, XFA_Attribute::TextEntry},
807 {0xb373a862 /* archive */, XFA_Attribute::Archive},
808 {0xb598a1f7 /* uuid */, XFA_Attribute::Uuid},
809 {0xb5e49bf2 /* posture */, XFA_Attribute::Posture},
810 {0xb6b44172 /* after */, XFA_Attribute::After},
811 {0xb716467b /* orphans */, XFA_Attribute::Orphans},
812 {0xbc0c4695 /* qualifiedName */, XFA_Attribute::QualifiedName},
813 {0xbc254332 /* usehref */, XFA_Attribute::Usehref},
814 {0xbc8fa350 /* locale */, XFA_Attribute::Locale},
815 {0xbd6e1d88 /* weight */, XFA_Attribute::Weight},
816 {0xbd96a0e9 /* underlinePeriod */, XFA_Attribute::UnderlinePeriod},
817 {0xbde9abda /* data */, XFA_Attribute::Data},
818 {0xbe52dfbf /* desc */, XFA_Attribute::Desc},
819 {0xbe9ba472 /* numbered */, XFA_Attribute::Numbered},
820 {0xc035c6b1 /* dataColumnCount */, XFA_Attribute::DataColumnCount},
821 {0xc0ec9fa4 /* overline */, XFA_Attribute::Overline},
822 {0xc2ba0923 /* urlPolicy */, XFA_Attribute::UrlPolicy},
823 {0xc2bd40fd /* anchorType */, XFA_Attribute::AnchorType},
824 {0xc39a88bd /* labelRef */, XFA_Attribute::LabelRef},
825 {0xc3c1442f /* bookendLeader */, XFA_Attribute::BookendLeader},
826 {0xc4547a08 /* maxLength */, XFA_Attribute::MaxLength},
827 {0xc4fed09b /* accessKey */, XFA_Attribute::AccessKey},
828 {0xc5762157 /* cursorLocation */, XFA_Attribute::CursorLocation},
829 {0xc860f30a /* delayedOpen */, XFA_Attribute::DelayedOpen},
830 {0xc8da4da7 /* target */, XFA_Attribute::Target},
831 {0xca5dc27c /* dataEncipherment */, XFA_Attribute::DataEncipherment},
832 {0xcb150479 /* afterTarget */, XFA_Attribute::AfterTarget},
833 {0xcbcaf66d /* leader */, XFA_Attribute::Leader},
834 {0xcca7897e /* picker */, XFA_Attribute::Picker},
835 {0xcd7f7b54 /* from */, XFA_Attribute::From},
836 {0xcea5e62c /* baseProfile */, XFA_Attribute::BaseProfile},
837 {0xd171b240 /* aspect */, XFA_Attribute::Aspect},
838 {0xd3c84d25 /* rowColumnRatio */, XFA_Attribute::RowColumnRatio},
839 {0xd4b01921 /* lineHeight */, XFA_Attribute::LineHeight},
840 {0xd4cc53f8 /* highlight */, XFA_Attribute::Highlight},
841 {0xd50f903a /* valueRef */, XFA_Attribute::ValueRef},
842 {0xd52482e0 /* maxEntries */, XFA_Attribute::MaxEntries},
843 {0xd57c513c /* dataLength */, XFA_Attribute::DataLength},
844 {0xd6128d8d /* activity */, XFA_Attribute::Activity},
845 {0xd6a39990 /* input */, XFA_Attribute::Input},
846 {0xd6e27f1d /* value */, XFA_Attribute::Value},
847 {0xd70798c2 /* blankOrNotBlank */, XFA_Attribute::BlankOrNotBlank},
848 {0xd861f8af /* addRevocationInfo */, XFA_Attribute::AddRevocationInfo},
849 {0xd8f982bf /* genericFamily */, XFA_Attribute::GenericFamily},
850 {0xd996fa9b /* hand */, XFA_Attribute::Hand},
851 {0xdb55fec5 /* href */, XFA_Attribute::Href},
852 {0xdc75676c /* textEncoding */, XFA_Attribute::TextEncoding},
853 {0xde7f92ba /* leadDigits */, XFA_Attribute::LeadDigits},
854 {0xe11a2cbc /* permissions */, XFA_Attribute::Permissions},
855 {0xe18b5659 /* spaceAbove */, XFA_Attribute::SpaceAbove},
856 {0xe1a26b56 /* codeBase */, XFA_Attribute::CodeBase},
857 {0xe349d044 /* stock */, XFA_Attribute::Stock},
858 {0xe372ae97 /* isNull */, XFA_Attribute::IsNull},
859 {0xe4c3a5e5 /* restoreState */, XFA_Attribute::RestoreState},
860 {0xe5c96d6a /* excludeAllCaps */, XFA_Attribute::ExcludeAllCaps},
861 {0xe64b1129 /* formatTest */, XFA_Attribute::FormatTest},
862 {0xe6f99487 /* hScrollPolicy */, XFA_Attribute::HScrollPolicy},
863 {0xe8dddf50 /* join */, XFA_Attribute::Join},
864 {0xe8f118a8 /* keyCertSign */, XFA_Attribute::KeyCertSign},
865 {0xe948b9a8 /* radius */, XFA_Attribute::Radius},
866 {0xe996b2fe /* sourceAbove */, XFA_Attribute::SourceAbove},
867 {0xea7090a0 /* override */, XFA_Attribute::Override},
868 {0xeb091003 /* classId */, XFA_Attribute::ClassId},
869 {0xeb511b54 /* disable */, XFA_Attribute::Disable},
870 {0xeda9017a /* scope */, XFA_Attribute::Scope},
871 {0xf197844d /* match */, XFA_Attribute::Match},
872 {0xf2009339 /* placement */, XFA_Attribute::Placement},
873 {0xf4ffce73 /* before */, XFA_Attribute::Before},
874 {0xf531b059 /* writingScript */, XFA_Attribute::WritingScript},
875 {0xf575ca75 /* endChar */, XFA_Attribute::EndChar},
876 {0xf6b47749 /* lock */, XFA_Attribute::Lock},
877 {0xf6b4afb0 /* long */, XFA_Attribute::Long},
878 {0xf6b59543 /* intact */, XFA_Attribute::Intact},
879 {0xf889e747 /* xdpContent */, XFA_Attribute::XdpContent},
880 {0xfea53ec6 /* decipherOnly */, XFA_Attribute::DecipherOnly},
881 };
882
883 } // namespace
884
885 // static
NameToElement(const WideString & name)886 XFA_Element CXFA_Node::NameToElement(const WideString& name) {
887 uint32_t hash = FX_HashCode_GetW(name.AsStringView(), false);
888 auto* elem = std::lower_bound(
889 std::begin(ElementNameToEnum), std::end(ElementNameToEnum), hash,
890 [](const ElementNameInfo& a, uint32_t hash) { return a.hash < hash; });
891 if (elem != std::end(ElementNameToEnum) && elem->hash == hash)
892 return elem->element;
893 return XFA_Element::Unknown;
894 }
895
896 // static
NameToAttribute(const WideStringView & name)897 XFA_Attribute CXFA_Node::NameToAttribute(const WideStringView& name) {
898 uint32_t hash = FX_HashCode_GetW(name, false);
899 auto* elem = std::lower_bound(
900 std::begin(AttributeNameInfoToEnum), std::end(AttributeNameInfoToEnum),
901 hash,
902 [](const AttributeNameInfo& a, uint32_t hash) { return a.hash < hash; });
903 if (elem != std::end(AttributeNameInfoToEnum) && elem->hash == hash)
904 return elem->attribute;
905 return XFA_Attribute::Unknown;
906 }
907
908 // static
Create(CXFA_Document * doc,XFA_Element element,XFA_PacketType packet)909 std::unique_ptr<CXFA_Node> CXFA_Node::Create(CXFA_Document* doc,
910 XFA_Element element,
911 XFA_PacketType packet) {
912 std::unique_ptr<CXFA_Node> node;
913 switch (element) {
914 case XFA_Element::Ps:
915 node = pdfium::MakeUnique<CXFA_Ps>(doc, packet);
916 break;
917 case XFA_Element::To:
918 node = pdfium::MakeUnique<CXFA_To>(doc, packet);
919 break;
920 case XFA_Element::Ui:
921 node = pdfium::MakeUnique<CXFA_Ui>(doc, packet);
922 break;
923 case XFA_Element::RecordSet:
924 node = pdfium::MakeUnique<CXFA_RecordSet>(doc, packet);
925 break;
926 case XFA_Element::SubsetBelow:
927 node = pdfium::MakeUnique<CXFA_SubsetBelow>(doc, packet);
928 break;
929 case XFA_Element::SubformSet:
930 node = pdfium::MakeUnique<CXFA_SubformSet>(doc, packet);
931 break;
932 case XFA_Element::AdobeExtensionLevel:
933 node = pdfium::MakeUnique<CXFA_AdobeExtensionLevel>(doc, packet);
934 break;
935 case XFA_Element::Typeface:
936 node = pdfium::MakeUnique<CXFA_Typeface>(doc, packet);
937 break;
938 case XFA_Element::Break:
939 node = pdfium::MakeUnique<CXFA_Break>(doc, packet);
940 break;
941 case XFA_Element::FontInfo:
942 node = pdfium::MakeUnique<CXFA_FontInfo>(doc, packet);
943 break;
944 case XFA_Element::NumberPattern:
945 node = pdfium::MakeUnique<CXFA_NumberPattern>(doc, packet);
946 break;
947 case XFA_Element::DynamicRender:
948 node = pdfium::MakeUnique<CXFA_DynamicRender>(doc, packet);
949 break;
950 case XFA_Element::PrintScaling:
951 node = pdfium::MakeUnique<CXFA_PrintScaling>(doc, packet);
952 break;
953 case XFA_Element::CheckButton:
954 node = pdfium::MakeUnique<CXFA_CheckButton>(doc, packet);
955 break;
956 case XFA_Element::DatePatterns:
957 node = pdfium::MakeUnique<CXFA_DatePatterns>(doc, packet);
958 break;
959 case XFA_Element::SourceSet:
960 node = pdfium::MakeUnique<CXFA_SourceSet>(doc, packet);
961 break;
962 case XFA_Element::Amd:
963 node = pdfium::MakeUnique<CXFA_Amd>(doc, packet);
964 break;
965 case XFA_Element::Arc:
966 node = pdfium::MakeUnique<CXFA_Arc>(doc, packet);
967 break;
968 case XFA_Element::Day:
969 node = pdfium::MakeUnique<CXFA_Day>(doc, packet);
970 break;
971 case XFA_Element::Era:
972 node = pdfium::MakeUnique<CXFA_Era>(doc, packet);
973 break;
974 case XFA_Element::Jog:
975 node = pdfium::MakeUnique<CXFA_Jog>(doc, packet);
976 break;
977 case XFA_Element::Log:
978 node = pdfium::MakeUnique<CXFA_Log>(doc, packet);
979 break;
980 case XFA_Element::Map:
981 node = pdfium::MakeUnique<CXFA_Map>(doc, packet);
982 break;
983 case XFA_Element::Mdp:
984 node = pdfium::MakeUnique<CXFA_Mdp>(doc, packet);
985 break;
986 case XFA_Element::BreakBefore:
987 node = pdfium::MakeUnique<CXFA_BreakBefore>(doc, packet);
988 break;
989 case XFA_Element::Oid:
990 node = pdfium::MakeUnique<CXFA_Oid>(doc, packet);
991 break;
992 case XFA_Element::Pcl:
993 node = pdfium::MakeUnique<CXFA_Pcl>(doc, packet);
994 break;
995 case XFA_Element::Pdf:
996 node = pdfium::MakeUnique<CXFA_Pdf>(doc, packet);
997 break;
998 case XFA_Element::Ref:
999 node = pdfium::MakeUnique<CXFA_Ref>(doc, packet);
1000 break;
1001 case XFA_Element::Uri:
1002 node = pdfium::MakeUnique<CXFA_Uri>(doc, packet);
1003 break;
1004 case XFA_Element::Xdc:
1005 node = pdfium::MakeUnique<CXFA_Xdc>(doc, packet);
1006 break;
1007 case XFA_Element::Xdp:
1008 node = pdfium::MakeUnique<CXFA_Xdp>(doc, packet);
1009 break;
1010 case XFA_Element::Xfa:
1011 node = pdfium::MakeUnique<CXFA_Xfa>(doc, packet);
1012 break;
1013 case XFA_Element::Xsl:
1014 node = pdfium::MakeUnique<CXFA_Xsl>(doc, packet);
1015 break;
1016 case XFA_Element::Zpl:
1017 node = pdfium::MakeUnique<CXFA_Zpl>(doc, packet);
1018 break;
1019 case XFA_Element::Cache:
1020 node = pdfium::MakeUnique<CXFA_Cache>(doc, packet);
1021 break;
1022 case XFA_Element::Margin:
1023 node = pdfium::MakeUnique<CXFA_Margin>(doc, packet);
1024 break;
1025 case XFA_Element::KeyUsage:
1026 node = pdfium::MakeUnique<CXFA_KeyUsage>(doc, packet);
1027 break;
1028 case XFA_Element::Exclude:
1029 node = pdfium::MakeUnique<CXFA_Exclude>(doc, packet);
1030 break;
1031 case XFA_Element::ChoiceList:
1032 node = pdfium::MakeUnique<CXFA_ChoiceList>(doc, packet);
1033 break;
1034 case XFA_Element::Level:
1035 node = pdfium::MakeUnique<CXFA_Level>(doc, packet);
1036 break;
1037 case XFA_Element::LabelPrinter:
1038 node = pdfium::MakeUnique<CXFA_LabelPrinter>(doc, packet);
1039 break;
1040 case XFA_Element::CalendarSymbols:
1041 node = pdfium::MakeUnique<CXFA_CalendarSymbols>(doc, packet);
1042 break;
1043 case XFA_Element::Para:
1044 node = pdfium::MakeUnique<CXFA_Para>(doc, packet);
1045 break;
1046 case XFA_Element::Part:
1047 node = pdfium::MakeUnique<CXFA_Part>(doc, packet);
1048 break;
1049 case XFA_Element::Pdfa:
1050 node = pdfium::MakeUnique<CXFA_Pdfa>(doc, packet);
1051 break;
1052 case XFA_Element::Filter:
1053 node = pdfium::MakeUnique<CXFA_Filter>(doc, packet);
1054 break;
1055 case XFA_Element::Present:
1056 node = pdfium::MakeUnique<CXFA_Present>(doc, packet);
1057 break;
1058 case XFA_Element::Pagination:
1059 node = pdfium::MakeUnique<CXFA_Pagination>(doc, packet);
1060 break;
1061 case XFA_Element::Encoding:
1062 node = pdfium::MakeUnique<CXFA_Encoding>(doc, packet);
1063 break;
1064 case XFA_Element::Event:
1065 node = pdfium::MakeUnique<CXFA_Event>(doc, packet);
1066 break;
1067 case XFA_Element::Whitespace:
1068 node = pdfium::MakeUnique<CXFA_Whitespace>(doc, packet);
1069 break;
1070 case XFA_Element::DefaultUi:
1071 node = pdfium::MakeUnique<CXFA_DefaultUi>(doc, packet);
1072 break;
1073 case XFA_Element::DataModel:
1074 node = pdfium::MakeUnique<CXFA_DataModel>(doc, packet);
1075 break;
1076 case XFA_Element::Barcode:
1077 node = pdfium::MakeUnique<CXFA_Barcode>(doc, packet);
1078 break;
1079 case XFA_Element::TimePattern:
1080 node = pdfium::MakeUnique<CXFA_TimePattern>(doc, packet);
1081 break;
1082 case XFA_Element::BatchOutput:
1083 node = pdfium::MakeUnique<CXFA_BatchOutput>(doc, packet);
1084 break;
1085 case XFA_Element::Enforce:
1086 node = pdfium::MakeUnique<CXFA_Enforce>(doc, packet);
1087 break;
1088 case XFA_Element::CurrencySymbols:
1089 node = pdfium::MakeUnique<CXFA_CurrencySymbols>(doc, packet);
1090 break;
1091 case XFA_Element::AddSilentPrint:
1092 node = pdfium::MakeUnique<CXFA_AddSilentPrint>(doc, packet);
1093 break;
1094 case XFA_Element::Rename:
1095 node = pdfium::MakeUnique<CXFA_Rename>(doc, packet);
1096 break;
1097 case XFA_Element::Operation:
1098 node = pdfium::MakeUnique<CXFA_Operation>(doc, packet);
1099 break;
1100 case XFA_Element::Typefaces:
1101 node = pdfium::MakeUnique<CXFA_Typefaces>(doc, packet);
1102 break;
1103 case XFA_Element::SubjectDNs:
1104 node = pdfium::MakeUnique<CXFA_SubjectDNs>(doc, packet);
1105 break;
1106 case XFA_Element::Issuers:
1107 node = pdfium::MakeUnique<CXFA_Issuers>(doc, packet);
1108 break;
1109 case XFA_Element::WsdlConnection:
1110 node = pdfium::MakeUnique<CXFA_WsdlConnection>(doc, packet);
1111 break;
1112 case XFA_Element::Debug:
1113 node = pdfium::MakeUnique<CXFA_Debug>(doc, packet);
1114 break;
1115 case XFA_Element::Delta:
1116 node = pdfium::MakeUnique<CXFA_Delta>(doc, packet);
1117 break;
1118 case XFA_Element::EraNames:
1119 node = pdfium::MakeUnique<CXFA_EraNames>(doc, packet);
1120 break;
1121 case XFA_Element::ModifyAnnots:
1122 node = pdfium::MakeUnique<CXFA_ModifyAnnots>(doc, packet);
1123 break;
1124 case XFA_Element::StartNode:
1125 node = pdfium::MakeUnique<CXFA_StartNode>(doc, packet);
1126 break;
1127 case XFA_Element::Button:
1128 node = pdfium::MakeUnique<CXFA_Button>(doc, packet);
1129 break;
1130 case XFA_Element::Format:
1131 node = pdfium::MakeUnique<CXFA_Format>(doc, packet);
1132 break;
1133 case XFA_Element::Border:
1134 node = pdfium::MakeUnique<CXFA_Border>(doc, packet);
1135 break;
1136 case XFA_Element::Area:
1137 node = pdfium::MakeUnique<CXFA_Area>(doc, packet);
1138 break;
1139 case XFA_Element::Hyphenation:
1140 node = pdfium::MakeUnique<CXFA_Hyphenation>(doc, packet);
1141 break;
1142 case XFA_Element::Text:
1143 node = pdfium::MakeUnique<CXFA_Text>(doc, packet);
1144 break;
1145 case XFA_Element::Time:
1146 node = pdfium::MakeUnique<CXFA_Time>(doc, packet);
1147 break;
1148 case XFA_Element::Type:
1149 node = pdfium::MakeUnique<CXFA_Type>(doc, packet);
1150 break;
1151 case XFA_Element::Overprint:
1152 node = pdfium::MakeUnique<CXFA_Overprint>(doc, packet);
1153 break;
1154 case XFA_Element::Certificates:
1155 node = pdfium::MakeUnique<CXFA_Certificates>(doc, packet);
1156 break;
1157 case XFA_Element::EncryptionMethods:
1158 node = pdfium::MakeUnique<CXFA_EncryptionMethods>(doc, packet);
1159 break;
1160 case XFA_Element::SetProperty:
1161 node = pdfium::MakeUnique<CXFA_SetProperty>(doc, packet);
1162 break;
1163 case XFA_Element::PrinterName:
1164 node = pdfium::MakeUnique<CXFA_PrinterName>(doc, packet);
1165 break;
1166 case XFA_Element::StartPage:
1167 node = pdfium::MakeUnique<CXFA_StartPage>(doc, packet);
1168 break;
1169 case XFA_Element::PageOffset:
1170 node = pdfium::MakeUnique<CXFA_PageOffset>(doc, packet);
1171 break;
1172 case XFA_Element::DateTime:
1173 node = pdfium::MakeUnique<CXFA_DateTime>(doc, packet);
1174 break;
1175 case XFA_Element::Comb:
1176 node = pdfium::MakeUnique<CXFA_Comb>(doc, packet);
1177 break;
1178 case XFA_Element::Pattern:
1179 node = pdfium::MakeUnique<CXFA_Pattern>(doc, packet);
1180 break;
1181 case XFA_Element::IfEmpty:
1182 node = pdfium::MakeUnique<CXFA_IfEmpty>(doc, packet);
1183 break;
1184 case XFA_Element::SuppressBanner:
1185 node = pdfium::MakeUnique<CXFA_SuppressBanner>(doc, packet);
1186 break;
1187 case XFA_Element::OutputBin:
1188 node = pdfium::MakeUnique<CXFA_OutputBin>(doc, packet);
1189 break;
1190 case XFA_Element::Field:
1191 node = pdfium::MakeUnique<CXFA_Field>(doc, packet);
1192 break;
1193 case XFA_Element::Agent:
1194 node = pdfium::MakeUnique<CXFA_Agent>(doc, packet);
1195 break;
1196 case XFA_Element::OutputXSL:
1197 node = pdfium::MakeUnique<CXFA_OutputXSL>(doc, packet);
1198 break;
1199 case XFA_Element::AdjustData:
1200 node = pdfium::MakeUnique<CXFA_AdjustData>(doc, packet);
1201 break;
1202 case XFA_Element::AutoSave:
1203 node = pdfium::MakeUnique<CXFA_AutoSave>(doc, packet);
1204 break;
1205 case XFA_Element::ContentArea:
1206 node = pdfium::MakeUnique<CXFA_ContentArea>(doc, packet);
1207 break;
1208 case XFA_Element::WsdlAddress:
1209 node = pdfium::MakeUnique<CXFA_WsdlAddress>(doc, packet);
1210 break;
1211 case XFA_Element::Solid:
1212 node = pdfium::MakeUnique<CXFA_Solid>(doc, packet);
1213 break;
1214 case XFA_Element::DateTimeSymbols:
1215 node = pdfium::MakeUnique<CXFA_DateTimeSymbols>(doc, packet);
1216 break;
1217 case XFA_Element::EncryptionLevel:
1218 node = pdfium::MakeUnique<CXFA_EncryptionLevel>(doc, packet);
1219 break;
1220 case XFA_Element::Edge:
1221 node = pdfium::MakeUnique<CXFA_Edge>(doc, packet);
1222 break;
1223 case XFA_Element::Stipple:
1224 node = pdfium::MakeUnique<CXFA_Stipple>(doc, packet);
1225 break;
1226 case XFA_Element::Attributes:
1227 node = pdfium::MakeUnique<CXFA_Attributes>(doc, packet);
1228 break;
1229 case XFA_Element::VersionControl:
1230 node = pdfium::MakeUnique<CXFA_VersionControl>(doc, packet);
1231 break;
1232 case XFA_Element::Meridiem:
1233 node = pdfium::MakeUnique<CXFA_Meridiem>(doc, packet);
1234 break;
1235 case XFA_Element::ExclGroup:
1236 node = pdfium::MakeUnique<CXFA_ExclGroup>(doc, packet);
1237 break;
1238 case XFA_Element::ToolTip:
1239 node = pdfium::MakeUnique<CXFA_ToolTip>(doc, packet);
1240 break;
1241 case XFA_Element::Compress:
1242 node = pdfium::MakeUnique<CXFA_Compress>(doc, packet);
1243 break;
1244 case XFA_Element::Reason:
1245 node = pdfium::MakeUnique<CXFA_Reason>(doc, packet);
1246 break;
1247 case XFA_Element::Execute:
1248 node = pdfium::MakeUnique<CXFA_Execute>(doc, packet);
1249 break;
1250 case XFA_Element::ContentCopy:
1251 node = pdfium::MakeUnique<CXFA_ContentCopy>(doc, packet);
1252 break;
1253 case XFA_Element::DateTimeEdit:
1254 node = pdfium::MakeUnique<CXFA_DateTimeEdit>(doc, packet);
1255 break;
1256 case XFA_Element::Config:
1257 node = pdfium::MakeUnique<CXFA_Config>(doc, packet);
1258 break;
1259 case XFA_Element::Image:
1260 node = pdfium::MakeUnique<CXFA_Image>(doc, packet);
1261 break;
1262 case XFA_Element::SharpxHTML:
1263 node = pdfium::MakeUnique<CXFA_SharpxHTML>(doc, packet);
1264 break;
1265 case XFA_Element::NumberOfCopies:
1266 node = pdfium::MakeUnique<CXFA_NumberOfCopies>(doc, packet);
1267 break;
1268 case XFA_Element::BehaviorOverride:
1269 node = pdfium::MakeUnique<CXFA_BehaviorOverride>(doc, packet);
1270 break;
1271 case XFA_Element::TimeStamp:
1272 node = pdfium::MakeUnique<CXFA_TimeStamp>(doc, packet);
1273 break;
1274 case XFA_Element::Month:
1275 node = pdfium::MakeUnique<CXFA_Month>(doc, packet);
1276 break;
1277 case XFA_Element::ViewerPreferences:
1278 node = pdfium::MakeUnique<CXFA_ViewerPreferences>(doc, packet);
1279 break;
1280 case XFA_Element::ScriptModel:
1281 node = pdfium::MakeUnique<CXFA_ScriptModel>(doc, packet);
1282 break;
1283 case XFA_Element::Decimal:
1284 node = pdfium::MakeUnique<CXFA_Decimal>(doc, packet);
1285 break;
1286 case XFA_Element::Subform:
1287 node = pdfium::MakeUnique<CXFA_Subform>(doc, packet);
1288 break;
1289 case XFA_Element::Select:
1290 node = pdfium::MakeUnique<CXFA_Select>(doc, packet);
1291 break;
1292 case XFA_Element::Window:
1293 node = pdfium::MakeUnique<CXFA_Window>(doc, packet);
1294 break;
1295 case XFA_Element::LocaleSet:
1296 node = pdfium::MakeUnique<CXFA_LocaleSet>(doc, packet);
1297 break;
1298 case XFA_Element::Handler:
1299 node = pdfium::MakeUnique<CXFA_Handler>(doc, packet);
1300 break;
1301 case XFA_Element::Presence:
1302 node = pdfium::MakeUnique<CXFA_Presence>(doc, packet);
1303 break;
1304 case XFA_Element::Record:
1305 node = pdfium::MakeUnique<CXFA_Record>(doc, packet);
1306 break;
1307 case XFA_Element::Embed:
1308 node = pdfium::MakeUnique<CXFA_Embed>(doc, packet);
1309 break;
1310 case XFA_Element::Version:
1311 node = pdfium::MakeUnique<CXFA_Version>(doc, packet);
1312 break;
1313 case XFA_Element::Command:
1314 node = pdfium::MakeUnique<CXFA_Command>(doc, packet);
1315 break;
1316 case XFA_Element::Copies:
1317 node = pdfium::MakeUnique<CXFA_Copies>(doc, packet);
1318 break;
1319 case XFA_Element::Staple:
1320 node = pdfium::MakeUnique<CXFA_Staple>(doc, packet);
1321 break;
1322 case XFA_Element::SubmitFormat:
1323 node = pdfium::MakeUnique<CXFA_SubmitFormat>(doc, packet);
1324 break;
1325 case XFA_Element::Boolean:
1326 node = pdfium::MakeUnique<CXFA_Boolean>(doc, packet);
1327 break;
1328 case XFA_Element::Message:
1329 node = pdfium::MakeUnique<CXFA_Message>(doc, packet);
1330 break;
1331 case XFA_Element::Output:
1332 node = pdfium::MakeUnique<CXFA_Output>(doc, packet);
1333 break;
1334 case XFA_Element::PsMap:
1335 node = pdfium::MakeUnique<CXFA_PsMap>(doc, packet);
1336 break;
1337 case XFA_Element::ExcludeNS:
1338 node = pdfium::MakeUnique<CXFA_ExcludeNS>(doc, packet);
1339 break;
1340 case XFA_Element::Assist:
1341 node = pdfium::MakeUnique<CXFA_Assist>(doc, packet);
1342 break;
1343 case XFA_Element::Picture:
1344 node = pdfium::MakeUnique<CXFA_Picture>(doc, packet);
1345 break;
1346 case XFA_Element::Traversal:
1347 node = pdfium::MakeUnique<CXFA_Traversal>(doc, packet);
1348 break;
1349 case XFA_Element::SilentPrint:
1350 node = pdfium::MakeUnique<CXFA_SilentPrint>(doc, packet);
1351 break;
1352 case XFA_Element::WebClient:
1353 node = pdfium::MakeUnique<CXFA_WebClient>(doc, packet);
1354 break;
1355 case XFA_Element::Producer:
1356 node = pdfium::MakeUnique<CXFA_Producer>(doc, packet);
1357 break;
1358 case XFA_Element::Corner:
1359 node = pdfium::MakeUnique<CXFA_Corner>(doc, packet);
1360 break;
1361 case XFA_Element::MsgId:
1362 node = pdfium::MakeUnique<CXFA_MsgId>(doc, packet);
1363 break;
1364 case XFA_Element::Color:
1365 node = pdfium::MakeUnique<CXFA_Color>(doc, packet);
1366 break;
1367 case XFA_Element::Keep:
1368 node = pdfium::MakeUnique<CXFA_Keep>(doc, packet);
1369 break;
1370 case XFA_Element::Query:
1371 node = pdfium::MakeUnique<CXFA_Query>(doc, packet);
1372 break;
1373 case XFA_Element::Insert:
1374 node = pdfium::MakeUnique<CXFA_Insert>(doc, packet);
1375 break;
1376 case XFA_Element::ImageEdit:
1377 node = pdfium::MakeUnique<CXFA_ImageEdit>(doc, packet);
1378 break;
1379 case XFA_Element::Validate:
1380 node = pdfium::MakeUnique<CXFA_Validate>(doc, packet);
1381 break;
1382 case XFA_Element::DigestMethods:
1383 node = pdfium::MakeUnique<CXFA_DigestMethods>(doc, packet);
1384 break;
1385 case XFA_Element::NumberPatterns:
1386 node = pdfium::MakeUnique<CXFA_NumberPatterns>(doc, packet);
1387 break;
1388 case XFA_Element::PageSet:
1389 node = pdfium::MakeUnique<CXFA_PageSet>(doc, packet);
1390 break;
1391 case XFA_Element::Integer:
1392 node = pdfium::MakeUnique<CXFA_Integer>(doc, packet);
1393 break;
1394 case XFA_Element::SoapAddress:
1395 node = pdfium::MakeUnique<CXFA_SoapAddress>(doc, packet);
1396 break;
1397 case XFA_Element::Equate:
1398 node = pdfium::MakeUnique<CXFA_Equate>(doc, packet);
1399 break;
1400 case XFA_Element::FormFieldFilling:
1401 node = pdfium::MakeUnique<CXFA_FormFieldFilling>(doc, packet);
1402 break;
1403 case XFA_Element::PageRange:
1404 node = pdfium::MakeUnique<CXFA_PageRange>(doc, packet);
1405 break;
1406 case XFA_Element::Update:
1407 node = pdfium::MakeUnique<CXFA_Update>(doc, packet);
1408 break;
1409 case XFA_Element::ConnectString:
1410 node = pdfium::MakeUnique<CXFA_ConnectString>(doc, packet);
1411 break;
1412 case XFA_Element::Mode:
1413 node = pdfium::MakeUnique<CXFA_Mode>(doc, packet);
1414 break;
1415 case XFA_Element::Layout:
1416 node = pdfium::MakeUnique<CXFA_Layout>(doc, packet);
1417 break;
1418 case XFA_Element::Sharpxml:
1419 node = pdfium::MakeUnique<CXFA_Sharpxml>(doc, packet);
1420 break;
1421 case XFA_Element::XsdConnection:
1422 node = pdfium::MakeUnique<CXFA_XsdConnection>(doc, packet);
1423 break;
1424 case XFA_Element::Traverse:
1425 node = pdfium::MakeUnique<CXFA_Traverse>(doc, packet);
1426 break;
1427 case XFA_Element::Encodings:
1428 node = pdfium::MakeUnique<CXFA_Encodings>(doc, packet);
1429 break;
1430 case XFA_Element::Template:
1431 node = pdfium::MakeUnique<CXFA_Template>(doc, packet);
1432 break;
1433 case XFA_Element::Acrobat:
1434 node = pdfium::MakeUnique<CXFA_Acrobat>(doc, packet);
1435 break;
1436 case XFA_Element::ValidationMessaging:
1437 node = pdfium::MakeUnique<CXFA_ValidationMessaging>(doc, packet);
1438 break;
1439 case XFA_Element::Signing:
1440 node = pdfium::MakeUnique<CXFA_Signing>(doc, packet);
1441 break;
1442 case XFA_Element::Script:
1443 node = pdfium::MakeUnique<CXFA_Script>(doc, packet);
1444 break;
1445 case XFA_Element::AddViewerPreferences:
1446 node = pdfium::MakeUnique<CXFA_AddViewerPreferences>(doc, packet);
1447 break;
1448 case XFA_Element::AlwaysEmbed:
1449 node = pdfium::MakeUnique<CXFA_AlwaysEmbed>(doc, packet);
1450 break;
1451 case XFA_Element::PasswordEdit:
1452 node = pdfium::MakeUnique<CXFA_PasswordEdit>(doc, packet);
1453 break;
1454 case XFA_Element::NumericEdit:
1455 node = pdfium::MakeUnique<CXFA_NumericEdit>(doc, packet);
1456 break;
1457 case XFA_Element::EncryptionMethod:
1458 node = pdfium::MakeUnique<CXFA_EncryptionMethod>(doc, packet);
1459 break;
1460 case XFA_Element::Change:
1461 node = pdfium::MakeUnique<CXFA_Change>(doc, packet);
1462 break;
1463 case XFA_Element::PageArea:
1464 node = pdfium::MakeUnique<CXFA_PageArea>(doc, packet);
1465 break;
1466 case XFA_Element::SubmitUrl:
1467 node = pdfium::MakeUnique<CXFA_SubmitUrl>(doc, packet);
1468 break;
1469 case XFA_Element::Oids:
1470 node = pdfium::MakeUnique<CXFA_Oids>(doc, packet);
1471 break;
1472 case XFA_Element::Signature:
1473 node = pdfium::MakeUnique<CXFA_Signature>(doc, packet);
1474 break;
1475 case XFA_Element::ADBE_JSConsole:
1476 node = pdfium::MakeUnique<CXFA_aDBE_JSConsole>(doc, packet);
1477 break;
1478 case XFA_Element::Caption:
1479 node = pdfium::MakeUnique<CXFA_Caption>(doc, packet);
1480 break;
1481 case XFA_Element::Relevant:
1482 node = pdfium::MakeUnique<CXFA_Relevant>(doc, packet);
1483 break;
1484 case XFA_Element::FlipLabel:
1485 node = pdfium::MakeUnique<CXFA_FlipLabel>(doc, packet);
1486 break;
1487 case XFA_Element::ExData:
1488 node = pdfium::MakeUnique<CXFA_ExData>(doc, packet);
1489 break;
1490 case XFA_Element::DayNames:
1491 node = pdfium::MakeUnique<CXFA_DayNames>(doc, packet);
1492 break;
1493 case XFA_Element::SoapAction:
1494 node = pdfium::MakeUnique<CXFA_SoapAction>(doc, packet);
1495 break;
1496 case XFA_Element::DefaultTypeface:
1497 node = pdfium::MakeUnique<CXFA_DefaultTypeface>(doc, packet);
1498 break;
1499 case XFA_Element::Manifest:
1500 node = pdfium::MakeUnique<CXFA_Manifest>(doc, packet);
1501 break;
1502 case XFA_Element::Overflow:
1503 node = pdfium::MakeUnique<CXFA_Overflow>(doc, packet);
1504 break;
1505 case XFA_Element::Linear:
1506 node = pdfium::MakeUnique<CXFA_Linear>(doc, packet);
1507 break;
1508 case XFA_Element::CurrencySymbol:
1509 node = pdfium::MakeUnique<CXFA_CurrencySymbol>(doc, packet);
1510 break;
1511 case XFA_Element::Delete:
1512 node = pdfium::MakeUnique<CXFA_Delete>(doc, packet);
1513 break;
1514 case XFA_Element::DigestMethod:
1515 node = pdfium::MakeUnique<CXFA_DigestMethod>(doc, packet);
1516 break;
1517 case XFA_Element::InstanceManager:
1518 node = pdfium::MakeUnique<CXFA_InstanceManager>(doc, packet);
1519 break;
1520 case XFA_Element::EquateRange:
1521 node = pdfium::MakeUnique<CXFA_EquateRange>(doc, packet);
1522 break;
1523 case XFA_Element::Medium:
1524 node = pdfium::MakeUnique<CXFA_Medium>(doc, packet);
1525 break;
1526 case XFA_Element::TextEdit:
1527 node = pdfium::MakeUnique<CXFA_TextEdit>(doc, packet);
1528 break;
1529 case XFA_Element::TemplateCache:
1530 node = pdfium::MakeUnique<CXFA_TemplateCache>(doc, packet);
1531 break;
1532 case XFA_Element::CompressObjectStream:
1533 node = pdfium::MakeUnique<CXFA_CompressObjectStream>(doc, packet);
1534 break;
1535 case XFA_Element::DataValue:
1536 node = pdfium::MakeUnique<CXFA_DataValue>(doc, packet);
1537 break;
1538 case XFA_Element::AccessibleContent:
1539 node = pdfium::MakeUnique<CXFA_AccessibleContent>(doc, packet);
1540 break;
1541 case XFA_Element::IncludeXDPContent:
1542 node = pdfium::MakeUnique<CXFA_IncludeXDPContent>(doc, packet);
1543 break;
1544 case XFA_Element::XmlConnection:
1545 node = pdfium::MakeUnique<CXFA_XmlConnection>(doc, packet);
1546 break;
1547 case XFA_Element::ValidateApprovalSignatures:
1548 node = pdfium::MakeUnique<CXFA_ValidateApprovalSignatures>(doc, packet);
1549 break;
1550 case XFA_Element::SignData:
1551 node = pdfium::MakeUnique<CXFA_SignData>(doc, packet);
1552 break;
1553 case XFA_Element::Packets:
1554 node = pdfium::MakeUnique<CXFA_Packets>(doc, packet);
1555 break;
1556 case XFA_Element::DatePattern:
1557 node = pdfium::MakeUnique<CXFA_DatePattern>(doc, packet);
1558 break;
1559 case XFA_Element::DuplexOption:
1560 node = pdfium::MakeUnique<CXFA_DuplexOption>(doc, packet);
1561 break;
1562 case XFA_Element::Base:
1563 node = pdfium::MakeUnique<CXFA_Base>(doc, packet);
1564 break;
1565 case XFA_Element::Bind:
1566 node = pdfium::MakeUnique<CXFA_Bind>(doc, packet);
1567 break;
1568 case XFA_Element::Compression:
1569 node = pdfium::MakeUnique<CXFA_Compression>(doc, packet);
1570 break;
1571 case XFA_Element::User:
1572 node = pdfium::MakeUnique<CXFA_User>(doc, packet);
1573 break;
1574 case XFA_Element::Rectangle:
1575 node = pdfium::MakeUnique<CXFA_Rectangle>(doc, packet);
1576 break;
1577 case XFA_Element::EffectiveOutputPolicy:
1578 node = pdfium::MakeUnique<CXFA_EffectiveOutputPolicy>(doc, packet);
1579 break;
1580 case XFA_Element::ADBE_JSDebugger:
1581 node = pdfium::MakeUnique<CXFA_aDBE_JSDebugger>(doc, packet);
1582 break;
1583 case XFA_Element::Acrobat7:
1584 node = pdfium::MakeUnique<CXFA_Acrobat7>(doc, packet);
1585 break;
1586 case XFA_Element::Interactive:
1587 node = pdfium::MakeUnique<CXFA_Interactive>(doc, packet);
1588 break;
1589 case XFA_Element::Locale:
1590 node = pdfium::MakeUnique<CXFA_Locale>(doc, packet);
1591 break;
1592 case XFA_Element::CurrentPage:
1593 node = pdfium::MakeUnique<CXFA_CurrentPage>(doc, packet);
1594 break;
1595 case XFA_Element::Data:
1596 node = pdfium::MakeUnique<CXFA_Data>(doc, packet);
1597 break;
1598 case XFA_Element::Date:
1599 node = pdfium::MakeUnique<CXFA_Date>(doc, packet);
1600 break;
1601 case XFA_Element::Desc:
1602 node = pdfium::MakeUnique<CXFA_Desc>(doc, packet);
1603 break;
1604 case XFA_Element::Encrypt:
1605 node = pdfium::MakeUnique<CXFA_Encrypt>(doc, packet);
1606 break;
1607 case XFA_Element::Draw:
1608 node = pdfium::MakeUnique<CXFA_Draw>(doc, packet);
1609 break;
1610 case XFA_Element::Encryption:
1611 node = pdfium::MakeUnique<CXFA_Encryption>(doc, packet);
1612 break;
1613 case XFA_Element::MeridiemNames:
1614 node = pdfium::MakeUnique<CXFA_MeridiemNames>(doc, packet);
1615 break;
1616 case XFA_Element::Messaging:
1617 node = pdfium::MakeUnique<CXFA_Messaging>(doc, packet);
1618 break;
1619 case XFA_Element::Speak:
1620 node = pdfium::MakeUnique<CXFA_Speak>(doc, packet);
1621 break;
1622 case XFA_Element::DataGroup:
1623 node = pdfium::MakeUnique<CXFA_DataGroup>(doc, packet);
1624 break;
1625 case XFA_Element::Common:
1626 node = pdfium::MakeUnique<CXFA_Common>(doc, packet);
1627 break;
1628 case XFA_Element::Sharptext:
1629 node = pdfium::MakeUnique<CXFA_Sharptext>(doc, packet);
1630 break;
1631 case XFA_Element::PaginationOverride:
1632 node = pdfium::MakeUnique<CXFA_PaginationOverride>(doc, packet);
1633 break;
1634 case XFA_Element::Reasons:
1635 node = pdfium::MakeUnique<CXFA_Reasons>(doc, packet);
1636 break;
1637 case XFA_Element::SignatureProperties:
1638 node = pdfium::MakeUnique<CXFA_SignatureProperties>(doc, packet);
1639 break;
1640 case XFA_Element::Threshold:
1641 node = pdfium::MakeUnique<CXFA_Threshold>(doc, packet);
1642 break;
1643 case XFA_Element::AppearanceFilter:
1644 node = pdfium::MakeUnique<CXFA_AppearanceFilter>(doc, packet);
1645 break;
1646 case XFA_Element::Fill:
1647 node = pdfium::MakeUnique<CXFA_Fill>(doc, packet);
1648 break;
1649 case XFA_Element::Font:
1650 node = pdfium::MakeUnique<CXFA_Font>(doc, packet);
1651 break;
1652 case XFA_Element::Form:
1653 node = pdfium::MakeUnique<CXFA_Form>(doc, packet);
1654 break;
1655 case XFA_Element::MediumInfo:
1656 node = pdfium::MakeUnique<CXFA_MediumInfo>(doc, packet);
1657 break;
1658 case XFA_Element::Certificate:
1659 node = pdfium::MakeUnique<CXFA_Certificate>(doc, packet);
1660 break;
1661 case XFA_Element::Password:
1662 node = pdfium::MakeUnique<CXFA_Password>(doc, packet);
1663 break;
1664 case XFA_Element::RunScripts:
1665 node = pdfium::MakeUnique<CXFA_RunScripts>(doc, packet);
1666 break;
1667 case XFA_Element::Trace:
1668 node = pdfium::MakeUnique<CXFA_Trace>(doc, packet);
1669 break;
1670 case XFA_Element::Float:
1671 node = pdfium::MakeUnique<CXFA_Float>(doc, packet);
1672 break;
1673 case XFA_Element::RenderPolicy:
1674 node = pdfium::MakeUnique<CXFA_RenderPolicy>(doc, packet);
1675 break;
1676 case XFA_Element::Destination:
1677 node = pdfium::MakeUnique<CXFA_Destination>(doc, packet);
1678 break;
1679 case XFA_Element::Value:
1680 node = pdfium::MakeUnique<CXFA_Value>(doc, packet);
1681 break;
1682 case XFA_Element::Bookend:
1683 node = pdfium::MakeUnique<CXFA_Bookend>(doc, packet);
1684 break;
1685 case XFA_Element::ExObject:
1686 node = pdfium::MakeUnique<CXFA_ExObject>(doc, packet);
1687 break;
1688 case XFA_Element::OpenAction:
1689 node = pdfium::MakeUnique<CXFA_OpenAction>(doc, packet);
1690 break;
1691 case XFA_Element::NeverEmbed:
1692 node = pdfium::MakeUnique<CXFA_NeverEmbed>(doc, packet);
1693 break;
1694 case XFA_Element::BindItems:
1695 node = pdfium::MakeUnique<CXFA_BindItems>(doc, packet);
1696 break;
1697 case XFA_Element::Calculate:
1698 node = pdfium::MakeUnique<CXFA_Calculate>(doc, packet);
1699 break;
1700 case XFA_Element::Print:
1701 node = pdfium::MakeUnique<CXFA_Print>(doc, packet);
1702 break;
1703 case XFA_Element::Extras:
1704 node = pdfium::MakeUnique<CXFA_Extras>(doc, packet);
1705 break;
1706 case XFA_Element::Proto:
1707 node = pdfium::MakeUnique<CXFA_Proto>(doc, packet);
1708 break;
1709 case XFA_Element::DSigData:
1710 node = pdfium::MakeUnique<CXFA_DSigData>(doc, packet);
1711 break;
1712 case XFA_Element::Creator:
1713 node = pdfium::MakeUnique<CXFA_Creator>(doc, packet);
1714 break;
1715 case XFA_Element::Connect:
1716 node = pdfium::MakeUnique<CXFA_Connect>(doc, packet);
1717 break;
1718 case XFA_Element::Permissions:
1719 node = pdfium::MakeUnique<CXFA_Permissions>(doc, packet);
1720 break;
1721 case XFA_Element::ConnectionSet:
1722 node = pdfium::MakeUnique<CXFA_ConnectionSet>(doc, packet);
1723 break;
1724 case XFA_Element::Submit:
1725 node = pdfium::MakeUnique<CXFA_Submit>(doc, packet);
1726 break;
1727 case XFA_Element::Range:
1728 node = pdfium::MakeUnique<CXFA_Range>(doc, packet);
1729 break;
1730 case XFA_Element::Linearized:
1731 node = pdfium::MakeUnique<CXFA_Linearized>(doc, packet);
1732 break;
1733 case XFA_Element::Packet:
1734 node = pdfium::MakeUnique<CXFA_Packet>(doc, packet);
1735 break;
1736 case XFA_Element::RootElement:
1737 node = pdfium::MakeUnique<CXFA_RootElement>(doc, packet);
1738 break;
1739 case XFA_Element::PlaintextMetadata:
1740 node = pdfium::MakeUnique<CXFA_PlaintextMetadata>(doc, packet);
1741 break;
1742 case XFA_Element::NumberSymbols:
1743 node = pdfium::MakeUnique<CXFA_NumberSymbols>(doc, packet);
1744 break;
1745 case XFA_Element::PrintHighQuality:
1746 node = pdfium::MakeUnique<CXFA_PrintHighQuality>(doc, packet);
1747 break;
1748 case XFA_Element::Driver:
1749 node = pdfium::MakeUnique<CXFA_Driver>(doc, packet);
1750 break;
1751 case XFA_Element::IncrementalLoad:
1752 node = pdfium::MakeUnique<CXFA_IncrementalLoad>(doc, packet);
1753 break;
1754 case XFA_Element::SubjectDN:
1755 node = pdfium::MakeUnique<CXFA_SubjectDN>(doc, packet);
1756 break;
1757 case XFA_Element::CompressLogicalStructure:
1758 node = pdfium::MakeUnique<CXFA_CompressLogicalStructure>(doc, packet);
1759 break;
1760 case XFA_Element::IncrementalMerge:
1761 node = pdfium::MakeUnique<CXFA_IncrementalMerge>(doc, packet);
1762 break;
1763 case XFA_Element::Radial:
1764 node = pdfium::MakeUnique<CXFA_Radial>(doc, packet);
1765 break;
1766 case XFA_Element::Variables:
1767 node = pdfium::MakeUnique<CXFA_Variables>(doc, packet);
1768 break;
1769 case XFA_Element::TimePatterns:
1770 node = pdfium::MakeUnique<CXFA_TimePatterns>(doc, packet);
1771 break;
1772 case XFA_Element::EffectiveInputPolicy:
1773 node = pdfium::MakeUnique<CXFA_EffectiveInputPolicy>(doc, packet);
1774 break;
1775 case XFA_Element::NameAttr:
1776 node = pdfium::MakeUnique<CXFA_NameAttr>(doc, packet);
1777 break;
1778 case XFA_Element::Conformance:
1779 node = pdfium::MakeUnique<CXFA_Conformance>(doc, packet);
1780 break;
1781 case XFA_Element::Transform:
1782 node = pdfium::MakeUnique<CXFA_Transform>(doc, packet);
1783 break;
1784 case XFA_Element::LockDocument:
1785 node = pdfium::MakeUnique<CXFA_LockDocument>(doc, packet);
1786 break;
1787 case XFA_Element::BreakAfter:
1788 node = pdfium::MakeUnique<CXFA_BreakAfter>(doc, packet);
1789 break;
1790 case XFA_Element::Line:
1791 node = pdfium::MakeUnique<CXFA_Line>(doc, packet);
1792 break;
1793 case XFA_Element::Source:
1794 node = pdfium::MakeUnique<CXFA_Source>(doc, packet);
1795 break;
1796 case XFA_Element::Occur:
1797 node = pdfium::MakeUnique<CXFA_Occur>(doc, packet);
1798 break;
1799 case XFA_Element::PickTrayByPDFSize:
1800 node = pdfium::MakeUnique<CXFA_PickTrayByPDFSize>(doc, packet);
1801 break;
1802 case XFA_Element::MonthNames:
1803 node = pdfium::MakeUnique<CXFA_MonthNames>(doc, packet);
1804 break;
1805 case XFA_Element::Severity:
1806 node = pdfium::MakeUnique<CXFA_Severity>(doc, packet);
1807 break;
1808 case XFA_Element::GroupParent:
1809 node = pdfium::MakeUnique<CXFA_GroupParent>(doc, packet);
1810 break;
1811 case XFA_Element::DocumentAssembly:
1812 node = pdfium::MakeUnique<CXFA_DocumentAssembly>(doc, packet);
1813 break;
1814 case XFA_Element::NumberSymbol:
1815 node = pdfium::MakeUnique<CXFA_NumberSymbol>(doc, packet);
1816 break;
1817 case XFA_Element::Tagged:
1818 node = pdfium::MakeUnique<CXFA_Tagged>(doc, packet);
1819 break;
1820 case XFA_Element::Items:
1821 node = pdfium::MakeUnique<CXFA_Items>(doc, packet);
1822 break;
1823 default:
1824 NOTREACHED();
1825 return nullptr;
1826 }
1827 if (!node || !node->IsValidInPacket(packet))
1828 return nullptr;
1829 return node;
1830 }
1831
1832 // static
AttributeToName(XFA_Attribute attr)1833 WideString CXFA_Node::AttributeToName(XFA_Attribute attr) {
1834 switch (attr) {
1835 case XFA_Attribute::H:
1836 return L"h";
1837 case XFA_Attribute::W:
1838 return L"w";
1839 case XFA_Attribute::X:
1840 return L"x";
1841 case XFA_Attribute::Y:
1842 return L"y";
1843 case XFA_Attribute::Id:
1844 return L"id";
1845 case XFA_Attribute::To:
1846 return L"to";
1847 case XFA_Attribute::LineThrough:
1848 return L"lineThrough";
1849 case XFA_Attribute::HAlign:
1850 return L"hAlign";
1851 case XFA_Attribute::Typeface:
1852 return L"typeface";
1853 case XFA_Attribute::BeforeTarget:
1854 return L"beforeTarget";
1855 case XFA_Attribute::Name:
1856 return L"name";
1857 case XFA_Attribute::Next:
1858 return L"next";
1859 case XFA_Attribute::DataRowCount:
1860 return L"dataRowCount";
1861 case XFA_Attribute::Break:
1862 return L"break";
1863 case XFA_Attribute::VScrollPolicy:
1864 return L"vScrollPolicy";
1865 case XFA_Attribute::FontHorizontalScale:
1866 return L"fontHorizontalScale";
1867 case XFA_Attribute::TextIndent:
1868 return L"textIndent";
1869 case XFA_Attribute::Context:
1870 return L"context";
1871 case XFA_Attribute::TrayOut:
1872 return L"trayOut";
1873 case XFA_Attribute::Cap:
1874 return L"cap";
1875 case XFA_Attribute::Max:
1876 return L"max";
1877 case XFA_Attribute::Min:
1878 return L"min";
1879 case XFA_Attribute::Ref:
1880 return L"ref";
1881 case XFA_Attribute::Rid:
1882 return L"rid";
1883 case XFA_Attribute::Url:
1884 return L"url";
1885 case XFA_Attribute::Use:
1886 return L"use";
1887 case XFA_Attribute::LeftInset:
1888 return L"leftInset";
1889 case XFA_Attribute::Widows:
1890 return L"widows";
1891 case XFA_Attribute::Level:
1892 return L"level";
1893 case XFA_Attribute::BottomInset:
1894 return L"bottomInset";
1895 case XFA_Attribute::OverflowTarget:
1896 return L"overflowTarget";
1897 case XFA_Attribute::AllowMacro:
1898 return L"allowMacro";
1899 case XFA_Attribute::PagePosition:
1900 return L"pagePosition";
1901 case XFA_Attribute::ColumnWidths:
1902 return L"columnWidths";
1903 case XFA_Attribute::OverflowLeader:
1904 return L"overflowLeader";
1905 case XFA_Attribute::Action:
1906 return L"action";
1907 case XFA_Attribute::NonRepudiation:
1908 return L"nonRepudiation";
1909 case XFA_Attribute::Rate:
1910 return L"rate";
1911 case XFA_Attribute::AllowRichText:
1912 return L"allowRichText";
1913 case XFA_Attribute::Role:
1914 return L"role";
1915 case XFA_Attribute::OverflowTrailer:
1916 return L"overflowTrailer";
1917 case XFA_Attribute::Operation:
1918 return L"operation";
1919 case XFA_Attribute::Timeout:
1920 return L"timeout";
1921 case XFA_Attribute::TopInset:
1922 return L"topInset";
1923 case XFA_Attribute::Access:
1924 return L"access";
1925 case XFA_Attribute::CommandType:
1926 return L"commandType";
1927 case XFA_Attribute::Format:
1928 return L"format";
1929 case XFA_Attribute::DataPrep:
1930 return L"dataPrep";
1931 case XFA_Attribute::WidgetData:
1932 return L"widgetData";
1933 case XFA_Attribute::Abbr:
1934 return L"abbr";
1935 case XFA_Attribute::MarginRight:
1936 return L"marginRight";
1937 case XFA_Attribute::DataDescription:
1938 return L"dataDescription";
1939 case XFA_Attribute::EncipherOnly:
1940 return L"encipherOnly";
1941 case XFA_Attribute::KerningMode:
1942 return L"kerningMode";
1943 case XFA_Attribute::Rotate:
1944 return L"rotate";
1945 case XFA_Attribute::WordCharacterCount:
1946 return L"wordCharacterCount";
1947 case XFA_Attribute::Type:
1948 return L"type";
1949 case XFA_Attribute::Reserve:
1950 return L"reserve";
1951 case XFA_Attribute::TextLocation:
1952 return L"textLocation";
1953 case XFA_Attribute::Priority:
1954 return L"priority";
1955 case XFA_Attribute::Underline:
1956 return L"underline";
1957 case XFA_Attribute::ModuleWidth:
1958 return L"moduleWidth";
1959 case XFA_Attribute::Hyphenate:
1960 return L"hyphenate";
1961 case XFA_Attribute::Listen:
1962 return L"listen";
1963 case XFA_Attribute::Delimiter:
1964 return L"delimiter";
1965 case XFA_Attribute::ContentType:
1966 return L"contentType";
1967 case XFA_Attribute::StartNew:
1968 return L"startNew";
1969 case XFA_Attribute::EofAction:
1970 return L"eofAction";
1971 case XFA_Attribute::AllowNeutral:
1972 return L"allowNeutral";
1973 case XFA_Attribute::Connection:
1974 return L"connection";
1975 case XFA_Attribute::BaselineShift:
1976 return L"baselineShift";
1977 case XFA_Attribute::OverlinePeriod:
1978 return L"overlinePeriod";
1979 case XFA_Attribute::FracDigits:
1980 return L"fracDigits";
1981 case XFA_Attribute::Orientation:
1982 return L"orientation";
1983 case XFA_Attribute::TimeStamp:
1984 return L"timeStamp";
1985 case XFA_Attribute::PrintCheckDigit:
1986 return L"printCheckDigit";
1987 case XFA_Attribute::MarginLeft:
1988 return L"marginLeft";
1989 case XFA_Attribute::Stroke:
1990 return L"stroke";
1991 case XFA_Attribute::ModuleHeight:
1992 return L"moduleHeight";
1993 case XFA_Attribute::TransferEncoding:
1994 return L"transferEncoding";
1995 case XFA_Attribute::Usage:
1996 return L"usage";
1997 case XFA_Attribute::Presence:
1998 return L"presence";
1999 case XFA_Attribute::RadixOffset:
2000 return L"radixOffset";
2001 case XFA_Attribute::Preserve:
2002 return L"preserve";
2003 case XFA_Attribute::AliasNode:
2004 return L"aliasNode";
2005 case XFA_Attribute::MultiLine:
2006 return L"multiLine";
2007 case XFA_Attribute::Version:
2008 return L"version";
2009 case XFA_Attribute::StartChar:
2010 return L"startChar";
2011 case XFA_Attribute::ScriptTest:
2012 return L"scriptTest";
2013 case XFA_Attribute::StartAngle:
2014 return L"startAngle";
2015 case XFA_Attribute::CursorType:
2016 return L"cursorType";
2017 case XFA_Attribute::DigitalSignature:
2018 return L"digitalSignature";
2019 case XFA_Attribute::CodeType:
2020 return L"codeType";
2021 case XFA_Attribute::Output:
2022 return L"output";
2023 case XFA_Attribute::BookendTrailer:
2024 return L"bookendTrailer";
2025 case XFA_Attribute::ImagingBBox:
2026 return L"imagingBBox";
2027 case XFA_Attribute::ExcludeInitialCap:
2028 return L"excludeInitialCap";
2029 case XFA_Attribute::Force:
2030 return L"force";
2031 case XFA_Attribute::CrlSign:
2032 return L"crlSign";
2033 case XFA_Attribute::Previous:
2034 return L"previous";
2035 case XFA_Attribute::PushCharacterCount:
2036 return L"pushCharacterCount";
2037 case XFA_Attribute::NullTest:
2038 return L"nullTest";
2039 case XFA_Attribute::RunAt:
2040 return L"runAt";
2041 case XFA_Attribute::SpaceBelow:
2042 return L"spaceBelow";
2043 case XFA_Attribute::SweepAngle:
2044 return L"sweepAngle";
2045 case XFA_Attribute::NumberOfCells:
2046 return L"numberOfCells";
2047 case XFA_Attribute::LetterSpacing:
2048 return L"letterSpacing";
2049 case XFA_Attribute::LockType:
2050 return L"lockType";
2051 case XFA_Attribute::PasswordChar:
2052 return L"passwordChar";
2053 case XFA_Attribute::VAlign:
2054 return L"vAlign";
2055 case XFA_Attribute::SourceBelow:
2056 return L"sourceBelow";
2057 case XFA_Attribute::Inverted:
2058 return L"inverted";
2059 case XFA_Attribute::Mark:
2060 return L"mark";
2061 case XFA_Attribute::MaxH:
2062 return L"maxH";
2063 case XFA_Attribute::MaxW:
2064 return L"maxW";
2065 case XFA_Attribute::Truncate:
2066 return L"truncate";
2067 case XFA_Attribute::MinH:
2068 return L"minH";
2069 case XFA_Attribute::MinW:
2070 return L"minW";
2071 case XFA_Attribute::Initial:
2072 return L"initial";
2073 case XFA_Attribute::Mode:
2074 return L"mode";
2075 case XFA_Attribute::Layout:
2076 return L"layout";
2077 case XFA_Attribute::Server:
2078 return L"server";
2079 case XFA_Attribute::EmbedPDF:
2080 return L"embedPDF";
2081 case XFA_Attribute::OddOrEven:
2082 return L"oddOrEven";
2083 case XFA_Attribute::TabDefault:
2084 return L"tabDefault";
2085 case XFA_Attribute::Contains:
2086 return L"contains";
2087 case XFA_Attribute::RightInset:
2088 return L"rightInset";
2089 case XFA_Attribute::MaxChars:
2090 return L"maxChars";
2091 case XFA_Attribute::Open:
2092 return L"open";
2093 case XFA_Attribute::Relation:
2094 return L"relation";
2095 case XFA_Attribute::WideNarrowRatio:
2096 return L"wideNarrowRatio";
2097 case XFA_Attribute::Relevant:
2098 return L"relevant";
2099 case XFA_Attribute::SignatureType:
2100 return L"signatureType";
2101 case XFA_Attribute::LineThroughPeriod:
2102 return L"lineThroughPeriod";
2103 case XFA_Attribute::Shape:
2104 return L"shape";
2105 case XFA_Attribute::TabStops:
2106 return L"tabStops";
2107 case XFA_Attribute::OutputBelow:
2108 return L"outputBelow";
2109 case XFA_Attribute::Short:
2110 return L"short";
2111 case XFA_Attribute::FontVerticalScale:
2112 return L"fontVerticalScale";
2113 case XFA_Attribute::Thickness:
2114 return L"thickness";
2115 case XFA_Attribute::CommitOn:
2116 return L"commitOn";
2117 case XFA_Attribute::RemainCharacterCount:
2118 return L"remainCharacterCount";
2119 case XFA_Attribute::KeyAgreement:
2120 return L"keyAgreement";
2121 case XFA_Attribute::ErrorCorrectionLevel:
2122 return L"errorCorrectionLevel";
2123 case XFA_Attribute::UpsMode:
2124 return L"upsMode";
2125 case XFA_Attribute::MergeMode:
2126 return L"mergeMode";
2127 case XFA_Attribute::Circular:
2128 return L"circular";
2129 case XFA_Attribute::PsName:
2130 return L"psName";
2131 case XFA_Attribute::Trailer:
2132 return L"trailer";
2133 case XFA_Attribute::UnicodeRange:
2134 return L"unicodeRange";
2135 case XFA_Attribute::ExecuteType:
2136 return L"executeType";
2137 case XFA_Attribute::DuplexImposition:
2138 return L"duplexImposition";
2139 case XFA_Attribute::TrayIn:
2140 return L"trayIn";
2141 case XFA_Attribute::BindingNode:
2142 return L"bindingNode";
2143 case XFA_Attribute::BofAction:
2144 return L"bofAction";
2145 case XFA_Attribute::Save:
2146 return L"save";
2147 case XFA_Attribute::TargetType:
2148 return L"targetType";
2149 case XFA_Attribute::KeyEncipherment:
2150 return L"keyEncipherment";
2151 case XFA_Attribute::CredentialServerPolicy:
2152 return L"credentialServerPolicy";
2153 case XFA_Attribute::Size:
2154 return L"size";
2155 case XFA_Attribute::InitialNumber:
2156 return L"initialNumber";
2157 case XFA_Attribute::Slope:
2158 return L"slope";
2159 case XFA_Attribute::CSpace:
2160 return L"cSpace";
2161 case XFA_Attribute::ColSpan:
2162 return L"colSpan";
2163 case XFA_Attribute::Binding:
2164 return L"binding";
2165 case XFA_Attribute::Checksum:
2166 return L"checksum";
2167 case XFA_Attribute::CharEncoding:
2168 return L"charEncoding";
2169 case XFA_Attribute::Bind:
2170 return L"bind";
2171 case XFA_Attribute::TextEntry:
2172 return L"textEntry";
2173 case XFA_Attribute::Archive:
2174 return L"archive";
2175 case XFA_Attribute::Uuid:
2176 return L"uuid";
2177 case XFA_Attribute::Posture:
2178 return L"posture";
2179 case XFA_Attribute::After:
2180 return L"after";
2181 case XFA_Attribute::Orphans:
2182 return L"orphans";
2183 case XFA_Attribute::QualifiedName:
2184 return L"qualifiedName";
2185 case XFA_Attribute::Usehref:
2186 return L"usehref";
2187 case XFA_Attribute::Locale:
2188 return L"locale";
2189 case XFA_Attribute::Weight:
2190 return L"weight";
2191 case XFA_Attribute::UnderlinePeriod:
2192 return L"underlinePeriod";
2193 case XFA_Attribute::Data:
2194 return L"data";
2195 case XFA_Attribute::Desc:
2196 return L"desc";
2197 case XFA_Attribute::Numbered:
2198 return L"numbered";
2199 case XFA_Attribute::DataColumnCount:
2200 return L"dataColumnCount";
2201 case XFA_Attribute::Overline:
2202 return L"overline";
2203 case XFA_Attribute::UrlPolicy:
2204 return L"urlPolicy";
2205 case XFA_Attribute::AnchorType:
2206 return L"anchorType";
2207 case XFA_Attribute::LabelRef:
2208 return L"labelRef";
2209 case XFA_Attribute::BookendLeader:
2210 return L"bookendLeader";
2211 case XFA_Attribute::MaxLength:
2212 return L"maxLength";
2213 case XFA_Attribute::AccessKey:
2214 return L"accessKey";
2215 case XFA_Attribute::CursorLocation:
2216 return L"cursorLocation";
2217 case XFA_Attribute::DelayedOpen:
2218 return L"delayedOpen";
2219 case XFA_Attribute::Target:
2220 return L"target";
2221 case XFA_Attribute::DataEncipherment:
2222 return L"dataEncipherment";
2223 case XFA_Attribute::AfterTarget:
2224 return L"afterTarget";
2225 case XFA_Attribute::Leader:
2226 return L"leader";
2227 case XFA_Attribute::Picker:
2228 return L"picker";
2229 case XFA_Attribute::From:
2230 return L"from";
2231 case XFA_Attribute::BaseProfile:
2232 return L"baseProfile";
2233 case XFA_Attribute::Aspect:
2234 return L"aspect";
2235 case XFA_Attribute::RowColumnRatio:
2236 return L"rowColumnRatio";
2237 case XFA_Attribute::LineHeight:
2238 return L"lineHeight";
2239 case XFA_Attribute::Highlight:
2240 return L"highlight";
2241 case XFA_Attribute::ValueRef:
2242 return L"valueRef";
2243 case XFA_Attribute::MaxEntries:
2244 return L"maxEntries";
2245 case XFA_Attribute::DataLength:
2246 return L"dataLength";
2247 case XFA_Attribute::Activity:
2248 return L"activity";
2249 case XFA_Attribute::Input:
2250 return L"input";
2251 case XFA_Attribute::Value:
2252 return L"value";
2253 case XFA_Attribute::BlankOrNotBlank:
2254 return L"blankOrNotBlank";
2255 case XFA_Attribute::AddRevocationInfo:
2256 return L"addRevocationInfo";
2257 case XFA_Attribute::GenericFamily:
2258 return L"genericFamily";
2259 case XFA_Attribute::Hand:
2260 return L"hand";
2261 case XFA_Attribute::Href:
2262 return L"href";
2263 case XFA_Attribute::TextEncoding:
2264 return L"textEncoding";
2265 case XFA_Attribute::LeadDigits:
2266 return L"leadDigits";
2267 case XFA_Attribute::Permissions:
2268 return L"permissions";
2269 case XFA_Attribute::SpaceAbove:
2270 return L"spaceAbove";
2271 case XFA_Attribute::CodeBase:
2272 return L"codeBase";
2273 case XFA_Attribute::Stock:
2274 return L"stock";
2275 case XFA_Attribute::IsNull:
2276 return L"isNull";
2277 case XFA_Attribute::RestoreState:
2278 return L"restoreState";
2279 case XFA_Attribute::ExcludeAllCaps:
2280 return L"excludeAllCaps";
2281 case XFA_Attribute::FormatTest:
2282 return L"formatTest";
2283 case XFA_Attribute::HScrollPolicy:
2284 return L"hScrollPolicy";
2285 case XFA_Attribute::Join:
2286 return L"join";
2287 case XFA_Attribute::KeyCertSign:
2288 return L"keyCertSign";
2289 case XFA_Attribute::Radius:
2290 return L"radius";
2291 case XFA_Attribute::SourceAbove:
2292 return L"sourceAbove";
2293 case XFA_Attribute::Override:
2294 return L"override";
2295 case XFA_Attribute::ClassId:
2296 return L"classId";
2297 case XFA_Attribute::Disable:
2298 return L"disable";
2299 case XFA_Attribute::Scope:
2300 return L"scope";
2301 case XFA_Attribute::Match:
2302 return L"match";
2303 case XFA_Attribute::Placement:
2304 return L"placement";
2305 case XFA_Attribute::Before:
2306 return L"before";
2307 case XFA_Attribute::WritingScript:
2308 return L"writingScript";
2309 case XFA_Attribute::EndChar:
2310 return L"endChar";
2311 case XFA_Attribute::Lock:
2312 return L"lock";
2313 case XFA_Attribute::Long:
2314 return L"long";
2315 case XFA_Attribute::Intact:
2316 return L"intact";
2317 case XFA_Attribute::XdpContent:
2318 return L"xdpContent";
2319 case XFA_Attribute::DecipherOnly:
2320 return L"decipherOnly";
2321
2322 default:
2323 NOTREACHED();
2324 break;
2325 }
2326 return L"";
2327 }
2328
2329 #ifndef NDEBUG
2330 // static
ElementToName(XFA_Element attr)2331 WideString CXFA_Node::ElementToName(XFA_Element attr) {
2332 switch (attr) {
2333 case XFA_Element::Ps:
2334 return L"ps";
2335 case XFA_Element::To:
2336 return L"to";
2337 case XFA_Element::Ui:
2338 return L"ui";
2339 case XFA_Element::RecordSet:
2340 return L"recordSet";
2341 case XFA_Element::SubsetBelow:
2342 return L"subsetBelow";
2343 case XFA_Element::SubformSet:
2344 return L"subformSet";
2345 case XFA_Element::AdobeExtensionLevel:
2346 return L"adobeExtensionLevel";
2347 case XFA_Element::Typeface:
2348 return L"typeface";
2349 case XFA_Element::Break:
2350 return L"break";
2351 case XFA_Element::FontInfo:
2352 return L"fontInfo";
2353 case XFA_Element::NumberPattern:
2354 return L"numberPattern";
2355 case XFA_Element::DynamicRender:
2356 return L"dynamicRender";
2357 case XFA_Element::PrintScaling:
2358 return L"printScaling";
2359 case XFA_Element::CheckButton:
2360 return L"checkButton";
2361 case XFA_Element::DatePatterns:
2362 return L"datePatterns";
2363 case XFA_Element::SourceSet:
2364 return L"sourceSet";
2365 case XFA_Element::Amd:
2366 return L"amd";
2367 case XFA_Element::Arc:
2368 return L"arc";
2369 case XFA_Element::Day:
2370 return L"day";
2371 case XFA_Element::Era:
2372 return L"era";
2373 case XFA_Element::Jog:
2374 return L"jog";
2375 case XFA_Element::Log:
2376 return L"log";
2377 case XFA_Element::Map:
2378 return L"map";
2379 case XFA_Element::Mdp:
2380 return L"mdp";
2381 case XFA_Element::BreakBefore:
2382 return L"breakBefore";
2383 case XFA_Element::Oid:
2384 return L"oid";
2385 case XFA_Element::Pcl:
2386 return L"pcl";
2387 case XFA_Element::Pdf:
2388 return L"pdf";
2389 case XFA_Element::Ref:
2390 return L"ref";
2391 case XFA_Element::Uri:
2392 return L"uri";
2393 case XFA_Element::Xdc:
2394 return L"xdc";
2395 case XFA_Element::Xdp:
2396 return L"xdp";
2397 case XFA_Element::Xfa:
2398 return L"xfa";
2399 case XFA_Element::Xsl:
2400 return L"xsl";
2401 case XFA_Element::Zpl:
2402 return L"zpl";
2403 case XFA_Element::Cache:
2404 return L"cache";
2405 case XFA_Element::Margin:
2406 return L"margin";
2407 case XFA_Element::KeyUsage:
2408 return L"keyUsage";
2409 case XFA_Element::Exclude:
2410 return L"exclude";
2411 case XFA_Element::ChoiceList:
2412 return L"choiceList";
2413 case XFA_Element::Level:
2414 return L"level";
2415 case XFA_Element::LabelPrinter:
2416 return L"labelPrinter";
2417 case XFA_Element::CalendarSymbols:
2418 return L"calendarSymbols";
2419 case XFA_Element::Para:
2420 return L"para";
2421 case XFA_Element::Part:
2422 return L"part";
2423 case XFA_Element::Pdfa:
2424 return L"pdfa";
2425 case XFA_Element::Filter:
2426 return L"filter";
2427 case XFA_Element::Present:
2428 return L"present";
2429 case XFA_Element::Pagination:
2430 return L"pagination";
2431 case XFA_Element::Encoding:
2432 return L"encoding";
2433 case XFA_Element::Event:
2434 return L"event";
2435 case XFA_Element::Whitespace:
2436 return L"whitespace";
2437 case XFA_Element::DefaultUi:
2438 return L"defaultUi";
2439 case XFA_Element::DataModel:
2440 return L"dataModel";
2441 case XFA_Element::Barcode:
2442 return L"barcode";
2443 case XFA_Element::TimePattern:
2444 return L"timePattern";
2445 case XFA_Element::BatchOutput:
2446 return L"batchOutput";
2447 case XFA_Element::Enforce:
2448 return L"enforce";
2449 case XFA_Element::CurrencySymbols:
2450 return L"currencySymbols";
2451 case XFA_Element::AddSilentPrint:
2452 return L"addSilentPrint";
2453 case XFA_Element::Rename:
2454 return L"rename";
2455 case XFA_Element::Operation:
2456 return L"operation";
2457 case XFA_Element::Typefaces:
2458 return L"typefaces";
2459 case XFA_Element::SubjectDNs:
2460 return L"subjectDNs";
2461 case XFA_Element::Issuers:
2462 return L"issuers";
2463 case XFA_Element::WsdlConnection:
2464 return L"wsdlConnection";
2465 case XFA_Element::Debug:
2466 return L"debug";
2467 case XFA_Element::Delta:
2468 return L"delta";
2469 case XFA_Element::EraNames:
2470 return L"eraNames";
2471 case XFA_Element::ModifyAnnots:
2472 return L"modifyAnnots";
2473 case XFA_Element::StartNode:
2474 return L"startNode";
2475 case XFA_Element::Button:
2476 return L"button";
2477 case XFA_Element::Format:
2478 return L"format";
2479 case XFA_Element::Border:
2480 return L"border";
2481 case XFA_Element::Area:
2482 return L"area";
2483 case XFA_Element::Hyphenation:
2484 return L"hyphenation";
2485 case XFA_Element::Text:
2486 return L"text";
2487 case XFA_Element::Time:
2488 return L"time";
2489 case XFA_Element::Type:
2490 return L"type";
2491 case XFA_Element::Overprint:
2492 return L"overprint";
2493 case XFA_Element::Certificates:
2494 return L"certificates";
2495 case XFA_Element::EncryptionMethods:
2496 return L"encryptionMethods";
2497 case XFA_Element::SetProperty:
2498 return L"setProperty";
2499 case XFA_Element::PrinterName:
2500 return L"printerName";
2501 case XFA_Element::StartPage:
2502 return L"startPage";
2503 case XFA_Element::PageOffset:
2504 return L"pageOffset";
2505 case XFA_Element::DateTime:
2506 return L"dateTime";
2507 case XFA_Element::Comb:
2508 return L"comb";
2509 case XFA_Element::Pattern:
2510 return L"pattern";
2511 case XFA_Element::IfEmpty:
2512 return L"ifEmpty";
2513 case XFA_Element::SuppressBanner:
2514 return L"suppressBanner";
2515 case XFA_Element::OutputBin:
2516 return L"outputBin";
2517 case XFA_Element::Field:
2518 return L"field";
2519 case XFA_Element::Agent:
2520 return L"agent";
2521 case XFA_Element::OutputXSL:
2522 return L"outputXSL";
2523 case XFA_Element::AdjustData:
2524 return L"adjustData";
2525 case XFA_Element::AutoSave:
2526 return L"autoSave";
2527 case XFA_Element::ContentArea:
2528 return L"contentArea";
2529 case XFA_Element::WsdlAddress:
2530 return L"wsdlAddress";
2531 case XFA_Element::Solid:
2532 return L"solid";
2533 case XFA_Element::DateTimeSymbols:
2534 return L"dateTimeSymbols";
2535 case XFA_Element::EncryptionLevel:
2536 return L"encryptionLevel";
2537 case XFA_Element::Edge:
2538 return L"edge";
2539 case XFA_Element::Stipple:
2540 return L"stipple";
2541 case XFA_Element::Attributes:
2542 return L"attributes";
2543 case XFA_Element::VersionControl:
2544 return L"versionControl";
2545 case XFA_Element::Meridiem:
2546 return L"meridiem";
2547 case XFA_Element::ExclGroup:
2548 return L"exclGroup";
2549 case XFA_Element::ToolTip:
2550 return L"toolTip";
2551 case XFA_Element::Compress:
2552 return L"compress";
2553 case XFA_Element::Reason:
2554 return L"reason";
2555 case XFA_Element::Execute:
2556 return L"execute";
2557 case XFA_Element::ContentCopy:
2558 return L"contentCopy";
2559 case XFA_Element::DateTimeEdit:
2560 return L"dateTimeEdit";
2561 case XFA_Element::Config:
2562 return L"config";
2563 case XFA_Element::Image:
2564 return L"image";
2565 case XFA_Element::SharpxHTML:
2566 return L"#xHTML";
2567 case XFA_Element::NumberOfCopies:
2568 return L"numberOfCopies";
2569 case XFA_Element::BehaviorOverride:
2570 return L"behaviorOverride";
2571 case XFA_Element::TimeStamp:
2572 return L"timeStamp";
2573 case XFA_Element::Month:
2574 return L"month";
2575 case XFA_Element::ViewerPreferences:
2576 return L"viewerPreferences";
2577 case XFA_Element::ScriptModel:
2578 return L"scriptModel";
2579 case XFA_Element::Decimal:
2580 return L"decimal";
2581 case XFA_Element::Subform:
2582 return L"subform";
2583 case XFA_Element::Select:
2584 return L"select";
2585 case XFA_Element::Window:
2586 return L"window";
2587 case XFA_Element::LocaleSet:
2588 return L"localeSet";
2589 case XFA_Element::Handler:
2590 return L"handler";
2591 case XFA_Element::Presence:
2592 return L"presence";
2593 case XFA_Element::Record:
2594 return L"record";
2595 case XFA_Element::Embed:
2596 return L"embed";
2597 case XFA_Element::Version:
2598 return L"version";
2599 case XFA_Element::Command:
2600 return L"command";
2601 case XFA_Element::Copies:
2602 return L"copies";
2603 case XFA_Element::Staple:
2604 return L"staple";
2605 case XFA_Element::SubmitFormat:
2606 return L"submitFormat";
2607 case XFA_Element::Boolean:
2608 return L"boolean";
2609 case XFA_Element::Message:
2610 return L"message";
2611 case XFA_Element::Output:
2612 return L"output";
2613 case XFA_Element::PsMap:
2614 return L"psMap";
2615 case XFA_Element::ExcludeNS:
2616 return L"excludeNS";
2617 case XFA_Element::Assist:
2618 return L"assist";
2619 case XFA_Element::Picture:
2620 return L"picture";
2621 case XFA_Element::Traversal:
2622 return L"traversal";
2623 case XFA_Element::SilentPrint:
2624 return L"silentPrint";
2625 case XFA_Element::WebClient:
2626 return L"webClient";
2627 case XFA_Element::Producer:
2628 return L"producer";
2629 case XFA_Element::Corner:
2630 return L"corner";
2631 case XFA_Element::MsgId:
2632 return L"msgId";
2633 case XFA_Element::Color:
2634 return L"color";
2635 case XFA_Element::Keep:
2636 return L"keep";
2637 case XFA_Element::Query:
2638 return L"query";
2639 case XFA_Element::Insert:
2640 return L"insert";
2641 case XFA_Element::ImageEdit:
2642 return L"imageEdit";
2643 case XFA_Element::Validate:
2644 return L"validate";
2645 case XFA_Element::DigestMethods:
2646 return L"digestMethods";
2647 case XFA_Element::NumberPatterns:
2648 return L"numberPatterns";
2649 case XFA_Element::PageSet:
2650 return L"pageSet";
2651 case XFA_Element::Integer:
2652 return L"integer";
2653 case XFA_Element::SoapAddress:
2654 return L"soapAddress";
2655 case XFA_Element::Equate:
2656 return L"equate";
2657 case XFA_Element::FormFieldFilling:
2658 return L"formFieldFilling";
2659 case XFA_Element::PageRange:
2660 return L"pageRange";
2661 case XFA_Element::Update:
2662 return L"update";
2663 case XFA_Element::ConnectString:
2664 return L"connectString";
2665 case XFA_Element::Mode:
2666 return L"mode";
2667 case XFA_Element::Layout:
2668 return L"layout";
2669 case XFA_Element::Sharpxml:
2670 return L"#xml";
2671 case XFA_Element::XsdConnection:
2672 return L"xsdConnection";
2673 case XFA_Element::Traverse:
2674 return L"traverse";
2675 case XFA_Element::Encodings:
2676 return L"encodings";
2677 case XFA_Element::Template:
2678 return L"template";
2679 case XFA_Element::Acrobat:
2680 return L"acrobat";
2681 case XFA_Element::ValidationMessaging:
2682 return L"validationMessaging";
2683 case XFA_Element::Signing:
2684 return L"signing";
2685 case XFA_Element::Script:
2686 return L"script";
2687 case XFA_Element::AddViewerPreferences:
2688 return L"addViewerPreferences";
2689 case XFA_Element::AlwaysEmbed:
2690 return L"alwaysEmbed";
2691 case XFA_Element::PasswordEdit:
2692 return L"passwordEdit";
2693 case XFA_Element::NumericEdit:
2694 return L"numericEdit";
2695 case XFA_Element::EncryptionMethod:
2696 return L"encryptionMethod";
2697 case XFA_Element::Change:
2698 return L"change";
2699 case XFA_Element::PageArea:
2700 return L"pageArea";
2701 case XFA_Element::SubmitUrl:
2702 return L"submitUrl";
2703 case XFA_Element::Oids:
2704 return L"oids";
2705 case XFA_Element::Signature:
2706 return L"signature";
2707 case XFA_Element::ADBE_JSConsole:
2708 return L"ADBE_JSConsole";
2709 case XFA_Element::Caption:
2710 return L"caption";
2711 case XFA_Element::Relevant:
2712 return L"relevant";
2713 case XFA_Element::FlipLabel:
2714 return L"flipLabel";
2715 case XFA_Element::ExData:
2716 return L"exData";
2717 case XFA_Element::DayNames:
2718 return L"dayNames";
2719 case XFA_Element::SoapAction:
2720 return L"soapAction";
2721 case XFA_Element::DefaultTypeface:
2722 return L"defaultTypeface";
2723 case XFA_Element::Manifest:
2724 return L"manifest";
2725 case XFA_Element::Overflow:
2726 return L"overflow";
2727 case XFA_Element::Linear:
2728 return L"linear";
2729 case XFA_Element::CurrencySymbol:
2730 return L"currencySymbol";
2731 case XFA_Element::Delete:
2732 return L"delete";
2733 case XFA_Element::Deltas:
2734 return L"deltas";
2735 case XFA_Element::DigestMethod:
2736 return L"digestMethod";
2737 case XFA_Element::InstanceManager:
2738 return L"instanceManager";
2739 case XFA_Element::EquateRange:
2740 return L"equateRange";
2741 case XFA_Element::Medium:
2742 return L"medium";
2743 case XFA_Element::TextEdit:
2744 return L"textEdit";
2745 case XFA_Element::TemplateCache:
2746 return L"templateCache";
2747 case XFA_Element::CompressObjectStream:
2748 return L"compressObjectStream";
2749 case XFA_Element::DataValue:
2750 return L"dataValue";
2751 case XFA_Element::AccessibleContent:
2752 return L"accessibleContent";
2753 case XFA_Element::IncludeXDPContent:
2754 return L"includeXDPContent";
2755 case XFA_Element::XmlConnection:
2756 return L"xmlConnection";
2757 case XFA_Element::ValidateApprovalSignatures:
2758 return L"validateApprovalSignatures";
2759 case XFA_Element::SignData:
2760 return L"signData";
2761 case XFA_Element::Packets:
2762 return L"packets";
2763 case XFA_Element::DatePattern:
2764 return L"datePattern";
2765 case XFA_Element::DuplexOption:
2766 return L"duplexOption";
2767 case XFA_Element::Base:
2768 return L"base";
2769 case XFA_Element::Bind:
2770 return L"bind";
2771 case XFA_Element::Compression:
2772 return L"compression";
2773 case XFA_Element::User:
2774 return L"user";
2775 case XFA_Element::Rectangle:
2776 return L"rectangle";
2777 case XFA_Element::EffectiveOutputPolicy:
2778 return L"effectiveOutputPolicy";
2779 case XFA_Element::ADBE_JSDebugger:
2780 return L"ADBE_JSDebugger";
2781 case XFA_Element::Acrobat7:
2782 return L"acrobat7";
2783 case XFA_Element::Interactive:
2784 return L"interactive";
2785 case XFA_Element::Locale:
2786 return L"locale";
2787 case XFA_Element::CurrentPage:
2788 return L"currentPage";
2789 case XFA_Element::Data:
2790 return L"data";
2791 case XFA_Element::Date:
2792 return L"date";
2793 case XFA_Element::Desc:
2794 return L"desc";
2795 case XFA_Element::Encrypt:
2796 return L"encrypt";
2797 case XFA_Element::Draw:
2798 return L"draw";
2799 case XFA_Element::Encryption:
2800 return L"encryption";
2801 case XFA_Element::MeridiemNames:
2802 return L"meridiemNames";
2803 case XFA_Element::Messaging:
2804 return L"messaging";
2805 case XFA_Element::Speak:
2806 return L"speak";
2807 case XFA_Element::DataGroup:
2808 return L"dataGroup";
2809 case XFA_Element::Common:
2810 return L"common";
2811 case XFA_Element::Sharptext:
2812 return L"#text";
2813 case XFA_Element::PaginationOverride:
2814 return L"paginationOverride";
2815 case XFA_Element::Reasons:
2816 return L"reasons";
2817 case XFA_Element::SignatureProperties:
2818 return L"signatureProperties";
2819 case XFA_Element::Threshold:
2820 return L"threshold";
2821 case XFA_Element::AppearanceFilter:
2822 return L"appearanceFilter";
2823 case XFA_Element::Fill:
2824 return L"fill";
2825 case XFA_Element::Font:
2826 return L"font";
2827 case XFA_Element::Form:
2828 return L"form";
2829 case XFA_Element::MediumInfo:
2830 return L"mediumInfo";
2831 case XFA_Element::Certificate:
2832 return L"certificate";
2833 case XFA_Element::Password:
2834 return L"password";
2835 case XFA_Element::RunScripts:
2836 return L"runScripts";
2837 case XFA_Element::Trace:
2838 return L"trace";
2839 case XFA_Element::Float:
2840 return L"float";
2841 case XFA_Element::RenderPolicy:
2842 return L"renderPolicy";
2843 case XFA_Element::Destination:
2844 return L"destination";
2845 case XFA_Element::Value:
2846 return L"value";
2847 case XFA_Element::Bookend:
2848 return L"bookend";
2849 case XFA_Element::ExObject:
2850 return L"exObject";
2851 case XFA_Element::OpenAction:
2852 return L"openAction";
2853 case XFA_Element::NeverEmbed:
2854 return L"neverEmbed";
2855 case XFA_Element::BindItems:
2856 return L"bindItems";
2857 case XFA_Element::Calculate:
2858 return L"calculate";
2859 case XFA_Element::Print:
2860 return L"print";
2861 case XFA_Element::Extras:
2862 return L"extras";
2863 case XFA_Element::Proto:
2864 return L"proto";
2865 case XFA_Element::DSigData:
2866 return L"dSigData";
2867 case XFA_Element::Creator:
2868 return L"creator";
2869 case XFA_Element::Connect:
2870 return L"connect";
2871 case XFA_Element::Permissions:
2872 return L"permissions";
2873 case XFA_Element::ConnectionSet:
2874 return L"connectionSet";
2875 case XFA_Element::Submit:
2876 return L"submit";
2877 case XFA_Element::Range:
2878 return L"range";
2879 case XFA_Element::Linearized:
2880 return L"linearized";
2881 case XFA_Element::Packet:
2882 return L"packet";
2883 case XFA_Element::RootElement:
2884 return L"rootElement";
2885 case XFA_Element::PlaintextMetadata:
2886 return L"plaintextMetadata";
2887 case XFA_Element::NumberSymbols:
2888 return L"numberSymbols";
2889 case XFA_Element::PrintHighQuality:
2890 return L"printHighQuality";
2891 case XFA_Element::Driver:
2892 return L"driver";
2893 case XFA_Element::IncrementalLoad:
2894 return L"incrementalLoad";
2895 case XFA_Element::SubjectDN:
2896 return L"subjectDN";
2897 case XFA_Element::CompressLogicalStructure:
2898 return L"compressLogicalStructure";
2899 case XFA_Element::IncrementalMerge:
2900 return L"incrementalMerge";
2901 case XFA_Element::Radial:
2902 return L"radial";
2903 case XFA_Element::Variables:
2904 return L"variables";
2905 case XFA_Element::TimePatterns:
2906 return L"timePatterns";
2907 case XFA_Element::EffectiveInputPolicy:
2908 return L"effectiveInputPolicy";
2909 case XFA_Element::NameAttr:
2910 return L"nameAttr";
2911 case XFA_Element::Conformance:
2912 return L"conformance";
2913 case XFA_Element::Transform:
2914 return L"transform";
2915 case XFA_Element::LockDocument:
2916 return L"lockDocument";
2917 case XFA_Element::BreakAfter:
2918 return L"breakAfter";
2919 case XFA_Element::Line:
2920 return L"line";
2921 case XFA_Element::Source:
2922 return L"source";
2923 case XFA_Element::Occur:
2924 return L"occur";
2925 case XFA_Element::PickTrayByPDFSize:
2926 return L"pickTrayByPDFSize";
2927 case XFA_Element::MonthNames:
2928 return L"monthNames";
2929 case XFA_Element::Severity:
2930 return L"severity";
2931 case XFA_Element::GroupParent:
2932 return L"groupParent";
2933 case XFA_Element::DocumentAssembly:
2934 return L"documentAssembly";
2935 case XFA_Element::NumberSymbol:
2936 return L"numberSymbol";
2937 case XFA_Element::Tagged:
2938 return L"tagged";
2939 case XFA_Element::Items:
2940 return L"items";
2941
2942 default:
2943 NOTREACHED();
2944 break;
2945 }
2946 return L"";
2947 }
2948 #endif // NDEBUG
2949