Home | History | Annotate | Download | only in fxfa
      1 // Copyright 2014 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 #ifndef _FXFA_BASIC_H
      8 #define _FXFA_BASIC_H
      9 
     10 #include "xfa/include/fxjse/fxjse.h"
     11 
     12 class CXFA_Measurement;
     13 #define XFA_HASHCODE_Xfa 0xc56b9ff
     14 #define XFA_HASHCODE_Config 0x4e1e39b6
     15 #define XFA_HASHCODE_Template 0x803550fc
     16 #define XFA_HASHCODE_Datasets 0x99b95079
     17 #define XFA_HASHCODE_Data 0xbde9abda
     18 #define XFA_HASHCODE_Form 0xcd309ff4
     19 #define XFA_HASHCODE_LocaleSet 0x5473b6dc
     20 #define XFA_HASHCODE_ConnectionSet 0xe14c801c
     21 #define XFA_HASHCODE_SourceSet 0x811929d
     22 #define XFA_HASHCODE_Xdc 0xc56afbf
     23 #define XFA_HASHCODE_Pdf 0xb843dba
     24 #define XFA_HASHCODE_Xfdf 0x48d004a8
     25 #define XFA_HASHCODE_Xmpmeta 0x132a8fbc
     26 #define XFA_HASHCODE_Signature 0x8b036f32
     27 #define XFA_HASHCODE_Stylesheet 0x6038580a
     28 #define XFA_HASHCODE_XDP 0xc56afcc
     29 #define XFA_HASHCODE_Record 0x5779d65f
     30 #define XFA_HASHCODE_DataWindow 0x83a550d2
     31 #define XFA_HASHCODE_Host 0xdb075bde
     32 #define XFA_HASHCODE_Log 0x0b1b3d22
     33 #define XFA_HASHCODE_Event 0x185e41e2
     34 #define XFA_HASHCODE_Layout 0x7e7e845e
     35 #define XFA_HASHCODE_Occur 0xf7eebe1c
     36 #define XFA_HASHCODE_This 0x2d574d58
     37 #define XFA_HASHCODE_DataDescription 0x2b5df51e
     38 #define XFA_HASHCODE_Name 0x31b19c1
     39 enum XFA_PACKET {
     40   XFA_PACKET_USER,
     41   XFA_PACKET_SourceSet,
     42   XFA_PACKET_Pdf,
     43   XFA_PACKET_Xdc,
     44   XFA_PACKET_XDP,
     45   XFA_PACKET_Xmpmeta,
     46   XFA_PACKET_Xfdf,
     47   XFA_PACKET_Config,
     48   XFA_PACKET_LocaleSet,
     49   XFA_PACKET_Stylesheet,
     50   XFA_PACKET_Template,
     51   XFA_PACKET_Signature,
     52   XFA_PACKET_Datasets,
     53   XFA_PACKET_Form,
     54   XFA_PACKET_ConnectionSet,
     55 };
     56 enum XFA_XDPPACKET {
     57   XFA_XDPPACKET_UNKNOWN = 0,
     58   XFA_XDPPACKET_Config = 1 << XFA_PACKET_Config,
     59   XFA_XDPPACKET_Template = 1 << XFA_PACKET_Template,
     60   XFA_XDPPACKET_Datasets = 1 << XFA_PACKET_Datasets,
     61   XFA_XDPPACKET_Form = 1 << XFA_PACKET_Form,
     62   XFA_XDPPACKET_LocaleSet = 1 << XFA_PACKET_LocaleSet,
     63   XFA_XDPPACKET_ConnectionSet = 1 << XFA_PACKET_ConnectionSet,
     64   XFA_XDPPACKET_SourceSet = 1 << XFA_PACKET_SourceSet,
     65   XFA_XDPPACKET_Xdc = 1 << XFA_PACKET_Xdc,
     66   XFA_XDPPACKET_Pdf = 1 << XFA_PACKET_Pdf,
     67   XFA_XDPPACKET_Xfdf = 1 << XFA_PACKET_Xfdf,
     68   XFA_XDPPACKET_Xmpmeta = 1 << XFA_PACKET_Xmpmeta,
     69   XFA_XDPPACKET_Signature = 1 << XFA_PACKET_Signature,
     70   XFA_XDPPACKET_Stylesheet = 1 << XFA_PACKET_Stylesheet,
     71   XFA_XDPPACKET_USER = 1 << XFA_PACKET_USER,
     72   XFA_XDPPACKET_XDP = 1 << XFA_PACKET_XDP,
     73 };
     74 enum XFA_XDPPACKET_FLAGS {
     75   XFA_XDPPACKET_FLAGS_COMPLETEMATCH = 1,
     76   XFA_XDPPACKET_FLAGS_PREFIXMATCH = 2,
     77   XFA_XDPPACKET_FLAGS_NOMATCH = 4,
     78   XFA_XDPPACKET_FLAGS_SUPPORTONE = 8,
     79   XFA_XDPPACKET_FLAGS_SUPPORTMANY = 16,
     80 };
     81 typedef struct _XFA_PACKETINFO {
     82   uint32_t uHash;
     83   const FX_WCHAR* pName;
     84   XFA_XDPPACKET eName;
     85   const FX_WCHAR* pURI;
     86   FX_DWORD eFlags;
     87 } XFA_PACKETINFO, *XFA_LPPACKETINFO;
     88 typedef XFA_PACKETINFO const* XFA_LPCPACKETINFO;
     89 XFA_LPCPACKETINFO XFA_GetPacketByName(const CFX_WideStringC& wsName);
     90 XFA_LPCPACKETINFO XFA_GetPacketByID(FX_DWORD dwPacket);
     91 extern const XFA_PACKETINFO g_XFAPacketData[];
     92 inline XFA_LPCPACKETINFO XFA_GetPacketByIndex(XFA_PACKET ePacket) {
     93   return g_XFAPacketData + ePacket;
     94 }
     95 enum XFA_ATTRIBUTEENUM {
     96   XFA_ATTRIBUTEENUM_Asterisk,
     97   XFA_ATTRIBUTEENUM_Slash,
     98   XFA_ATTRIBUTEENUM_Backslash,
     99   XFA_ATTRIBUTEENUM_On,
    100   XFA_ATTRIBUTEENUM_Tb,
    101   XFA_ATTRIBUTEENUM_Up,
    102   XFA_ATTRIBUTEENUM_MetaData,
    103   XFA_ATTRIBUTEENUM_Delegate,
    104   XFA_ATTRIBUTEENUM_PostSubmit,
    105   XFA_ATTRIBUTEENUM_Name,
    106   XFA_ATTRIBUTEENUM_Cross,
    107   XFA_ATTRIBUTEENUM_Next,
    108   XFA_ATTRIBUTEENUM_None,
    109   XFA_ATTRIBUTEENUM_ShortEdge,
    110   XFA_ATTRIBUTEENUM_1mod10_1mod11,
    111   XFA_ATTRIBUTEENUM_Height,
    112   XFA_ATTRIBUTEENUM_CrossDiagonal,
    113   XFA_ATTRIBUTEENUM_All,
    114   XFA_ATTRIBUTEENUM_Any,
    115   XFA_ATTRIBUTEENUM_ToRight,
    116   XFA_ATTRIBUTEENUM_MatchTemplate,
    117   XFA_ATTRIBUTEENUM_Dpl,
    118   XFA_ATTRIBUTEENUM_Invisible,
    119   XFA_ATTRIBUTEENUM_Fit,
    120   XFA_ATTRIBUTEENUM_Width,
    121   XFA_ATTRIBUTEENUM_PreSubmit,
    122   XFA_ATTRIBUTEENUM_Ipl,
    123   XFA_ATTRIBUTEENUM_FlateCompress,
    124   XFA_ATTRIBUTEENUM_Med,
    125   XFA_ATTRIBUTEENUM_Odd,
    126   XFA_ATTRIBUTEENUM_Off,
    127   XFA_ATTRIBUTEENUM_Pdf,
    128   XFA_ATTRIBUTEENUM_Row,
    129   XFA_ATTRIBUTEENUM_Top,
    130   XFA_ATTRIBUTEENUM_Xdp,
    131   XFA_ATTRIBUTEENUM_Xfd,
    132   XFA_ATTRIBUTEENUM_Xml,
    133   XFA_ATTRIBUTEENUM_Zip,
    134   XFA_ATTRIBUTEENUM_Zpl,
    135   XFA_ATTRIBUTEENUM_Visible,
    136   XFA_ATTRIBUTEENUM_Exclude,
    137   XFA_ATTRIBUTEENUM_MouseEnter,
    138   XFA_ATTRIBUTEENUM_Pair,
    139   XFA_ATTRIBUTEENUM_Filter,
    140   XFA_ATTRIBUTEENUM_MoveLast,
    141   XFA_ATTRIBUTEENUM_ExportAndImport,
    142   XFA_ATTRIBUTEENUM_Push,
    143   XFA_ATTRIBUTEENUM_Portrait,
    144   XFA_ATTRIBUTEENUM_Default,
    145   XFA_ATTRIBUTEENUM_StoredProc,
    146   XFA_ATTRIBUTEENUM_StayBOF,
    147   XFA_ATTRIBUTEENUM_StayEOF,
    148   XFA_ATTRIBUTEENUM_PostPrint,
    149   XFA_ATTRIBUTEENUM_UsCarrier,
    150   XFA_ATTRIBUTEENUM_Right,
    151   XFA_ATTRIBUTEENUM_PreOpen,
    152   XFA_ATTRIBUTEENUM_Actual,
    153   XFA_ATTRIBUTEENUM_Rest,
    154   XFA_ATTRIBUTEENUM_TopCenter,
    155   XFA_ATTRIBUTEENUM_StandardSymbol,
    156   XFA_ATTRIBUTEENUM_Initialize,
    157   XFA_ATTRIBUTEENUM_JustifyAll,
    158   XFA_ATTRIBUTEENUM_Normal,
    159   XFA_ATTRIBUTEENUM_Landscape,
    160   XFA_ATTRIBUTEENUM_NonInteractive,
    161   XFA_ATTRIBUTEENUM_MouseExit,
    162   XFA_ATTRIBUTEENUM_Minus,
    163   XFA_ATTRIBUTEENUM_DiagonalLeft,
    164   XFA_ATTRIBUTEENUM_SimplexPaginated,
    165   XFA_ATTRIBUTEENUM_Document,
    166   XFA_ATTRIBUTEENUM_Warning,
    167   XFA_ATTRIBUTEENUM_Auto,
    168   XFA_ATTRIBUTEENUM_Below,
    169   XFA_ATTRIBUTEENUM_BottomLeft,
    170   XFA_ATTRIBUTEENUM_BottomCenter,
    171   XFA_ATTRIBUTEENUM_Tcpl,
    172   XFA_ATTRIBUTEENUM_Text,
    173   XFA_ATTRIBUTEENUM_Grouping,
    174   XFA_ATTRIBUTEENUM_SecureSymbol,
    175   XFA_ATTRIBUTEENUM_PreExecute,
    176   XFA_ATTRIBUTEENUM_DocClose,
    177   XFA_ATTRIBUTEENUM_Keyset,
    178   XFA_ATTRIBUTEENUM_Vertical,
    179   XFA_ATTRIBUTEENUM_PreSave,
    180   XFA_ATTRIBUTEENUM_PreSign,
    181   XFA_ATTRIBUTEENUM_Bottom,
    182   XFA_ATTRIBUTEENUM_ToTop,
    183   XFA_ATTRIBUTEENUM_Verify,
    184   XFA_ATTRIBUTEENUM_First,
    185   XFA_ATTRIBUTEENUM_ContentArea,
    186   XFA_ATTRIBUTEENUM_Solid,
    187   XFA_ATTRIBUTEENUM_Pessimistic,
    188   XFA_ATTRIBUTEENUM_DuplexPaginated,
    189   XFA_ATTRIBUTEENUM_Round,
    190   XFA_ATTRIBUTEENUM_Remerge,
    191   XFA_ATTRIBUTEENUM_Ordered,
    192   XFA_ATTRIBUTEENUM_Percent,
    193   XFA_ATTRIBUTEENUM_Even,
    194   XFA_ATTRIBUTEENUM_Exit,
    195   XFA_ATTRIBUTEENUM_ToolTip,
    196   XFA_ATTRIBUTEENUM_OrderedOccurrence,
    197   XFA_ATTRIBUTEENUM_ReadOnly,
    198   XFA_ATTRIBUTEENUM_Currency,
    199   XFA_ATTRIBUTEENUM_Concat,
    200   XFA_ATTRIBUTEENUM_Thai,
    201   XFA_ATTRIBUTEENUM_Embossed,
    202   XFA_ATTRIBUTEENUM_Formdata,
    203   XFA_ATTRIBUTEENUM_Greek,
    204   XFA_ATTRIBUTEENUM_Decimal,
    205   XFA_ATTRIBUTEENUM_Select,
    206   XFA_ATTRIBUTEENUM_LongEdge,
    207   XFA_ATTRIBUTEENUM_Protected,
    208   XFA_ATTRIBUTEENUM_BottomRight,
    209   XFA_ATTRIBUTEENUM_Zero,
    210   XFA_ATTRIBUTEENUM_ForwardOnly,
    211   XFA_ATTRIBUTEENUM_DocReady,
    212   XFA_ATTRIBUTEENUM_Hidden,
    213   XFA_ATTRIBUTEENUM_Include,
    214   XFA_ATTRIBUTEENUM_Dashed,
    215   XFA_ATTRIBUTEENUM_MultiSelect,
    216   XFA_ATTRIBUTEENUM_Inactive,
    217   XFA_ATTRIBUTEENUM_Embed,
    218   XFA_ATTRIBUTEENUM_Static,
    219   XFA_ATTRIBUTEENUM_OnEntry,
    220   XFA_ATTRIBUTEENUM_Cyrillic,
    221   XFA_ATTRIBUTEENUM_NonBlank,
    222   XFA_ATTRIBUTEENUM_TopRight,
    223   XFA_ATTRIBUTEENUM_Hebrew,
    224   XFA_ATTRIBUTEENUM_TopLeft,
    225   XFA_ATTRIBUTEENUM_Center,
    226   XFA_ATTRIBUTEENUM_MoveFirst,
    227   XFA_ATTRIBUTEENUM_Diamond,
    228   XFA_ATTRIBUTEENUM_PageOdd,
    229   XFA_ATTRIBUTEENUM_1mod10,
    230   XFA_ATTRIBUTEENUM_Korean,
    231   XFA_ATTRIBUTEENUM_AboveEmbedded,
    232   XFA_ATTRIBUTEENUM_ZipCompress,
    233   XFA_ATTRIBUTEENUM_Numeric,
    234   XFA_ATTRIBUTEENUM_Circle,
    235   XFA_ATTRIBUTEENUM_ToBottom,
    236   XFA_ATTRIBUTEENUM_Inverted,
    237   XFA_ATTRIBUTEENUM_Update,
    238   XFA_ATTRIBUTEENUM_Isoname,
    239   XFA_ATTRIBUTEENUM_Server,
    240   XFA_ATTRIBUTEENUM_Position,
    241   XFA_ATTRIBUTEENUM_MiddleCenter,
    242   XFA_ATTRIBUTEENUM_Optional,
    243   XFA_ATTRIBUTEENUM_UsePrinterSetting,
    244   XFA_ATTRIBUTEENUM_Outline,
    245   XFA_ATTRIBUTEENUM_IndexChange,
    246   XFA_ATTRIBUTEENUM_Change,
    247   XFA_ATTRIBUTEENUM_PageArea,
    248   XFA_ATTRIBUTEENUM_Once,
    249   XFA_ATTRIBUTEENUM_Only,
    250   XFA_ATTRIBUTEENUM_Open,
    251   XFA_ATTRIBUTEENUM_Caption,
    252   XFA_ATTRIBUTEENUM_Raised,
    253   XFA_ATTRIBUTEENUM_Justify,
    254   XFA_ATTRIBUTEENUM_RefAndDescendants,
    255   XFA_ATTRIBUTEENUM_Short,
    256   XFA_ATTRIBUTEENUM_PageFront,
    257   XFA_ATTRIBUTEENUM_Monospace,
    258   XFA_ATTRIBUTEENUM_Middle,
    259   XFA_ATTRIBUTEENUM_PrePrint,
    260   XFA_ATTRIBUTEENUM_Always,
    261   XFA_ATTRIBUTEENUM_Unknown,
    262   XFA_ATTRIBUTEENUM_ToLeft,
    263   XFA_ATTRIBUTEENUM_Above,
    264   XFA_ATTRIBUTEENUM_DashDot,
    265   XFA_ATTRIBUTEENUM_Gregorian,
    266   XFA_ATTRIBUTEENUM_Roman,
    267   XFA_ATTRIBUTEENUM_MouseDown,
    268   XFA_ATTRIBUTEENUM_Symbol,
    269   XFA_ATTRIBUTEENUM_PageEven,
    270   XFA_ATTRIBUTEENUM_Sign,
    271   XFA_ATTRIBUTEENUM_AddNew,
    272   XFA_ATTRIBUTEENUM_Star,
    273   XFA_ATTRIBUTEENUM_Optimistic,
    274   XFA_ATTRIBUTEENUM_Rl_tb,
    275   XFA_ATTRIBUTEENUM_MiddleRight,
    276   XFA_ATTRIBUTEENUM_Maintain,
    277   XFA_ATTRIBUTEENUM_Package,
    278   XFA_ATTRIBUTEENUM_SimplifiedChinese,
    279   XFA_ATTRIBUTEENUM_ToCenter,
    280   XFA_ATTRIBUTEENUM_Back,
    281   XFA_ATTRIBUTEENUM_Unspecified,
    282   XFA_ATTRIBUTEENUM_BatchOptimistic,
    283   XFA_ATTRIBUTEENUM_Bold,
    284   XFA_ATTRIBUTEENUM_Both,
    285   XFA_ATTRIBUTEENUM_Butt,
    286   XFA_ATTRIBUTEENUM_Client,
    287   XFA_ATTRIBUTEENUM_2mod10,
    288   XFA_ATTRIBUTEENUM_ImageOnly,
    289   XFA_ATTRIBUTEENUM_Horizontal,
    290   XFA_ATTRIBUTEENUM_Dotted,
    291   XFA_ATTRIBUTEENUM_UserControl,
    292   XFA_ATTRIBUTEENUM_DiagonalRight,
    293   XFA_ATTRIBUTEENUM_ConsumeData,
    294   XFA_ATTRIBUTEENUM_Check,
    295   XFA_ATTRIBUTEENUM_Data,
    296   XFA_ATTRIBUTEENUM_Down,
    297   XFA_ATTRIBUTEENUM_SansSerif,
    298   XFA_ATTRIBUTEENUM_Inline,
    299   XFA_ATTRIBUTEENUM_TraditionalChinese,
    300   XFA_ATTRIBUTEENUM_Warn,
    301   XFA_ATTRIBUTEENUM_RefOnly,
    302   XFA_ATTRIBUTEENUM_InteractiveForms,
    303   XFA_ATTRIBUTEENUM_Word,
    304   XFA_ATTRIBUTEENUM_Unordered,
    305   XFA_ATTRIBUTEENUM_Required,
    306   XFA_ATTRIBUTEENUM_ImportOnly,
    307   XFA_ATTRIBUTEENUM_BelowEmbedded,
    308   XFA_ATTRIBUTEENUM_Japanese,
    309   XFA_ATTRIBUTEENUM_Full,
    310   XFA_ATTRIBUTEENUM_Rl_row,
    311   XFA_ATTRIBUTEENUM_Vietnamese,
    312   XFA_ATTRIBUTEENUM_EastEuropeanRoman,
    313   XFA_ATTRIBUTEENUM_MouseUp,
    314   XFA_ATTRIBUTEENUM_ExportOnly,
    315   XFA_ATTRIBUTEENUM_Clear,
    316   XFA_ATTRIBUTEENUM_Click,
    317   XFA_ATTRIBUTEENUM_Base64,
    318   XFA_ATTRIBUTEENUM_Close,
    319   XFA_ATTRIBUTEENUM_Host,
    320   XFA_ATTRIBUTEENUM_Global,
    321   XFA_ATTRIBUTEENUM_Blank,
    322   XFA_ATTRIBUTEENUM_Table,
    323   XFA_ATTRIBUTEENUM_Import,
    324   XFA_ATTRIBUTEENUM_Custom,
    325   XFA_ATTRIBUTEENUM_MiddleLeft,
    326   XFA_ATTRIBUTEENUM_PostExecute,
    327   XFA_ATTRIBUTEENUM_Radix,
    328   XFA_ATTRIBUTEENUM_PostOpen,
    329   XFA_ATTRIBUTEENUM_Enter,
    330   XFA_ATTRIBUTEENUM_Ignore,
    331   XFA_ATTRIBUTEENUM_Lr_tb,
    332   XFA_ATTRIBUTEENUM_Fantasy,
    333   XFA_ATTRIBUTEENUM_Italic,
    334   XFA_ATTRIBUTEENUM_Author,
    335   XFA_ATTRIBUTEENUM_ToEdge,
    336   XFA_ATTRIBUTEENUM_Choice,
    337   XFA_ATTRIBUTEENUM_Disabled,
    338   XFA_ATTRIBUTEENUM_CrossHatch,
    339   XFA_ATTRIBUTEENUM_DataRef,
    340   XFA_ATTRIBUTEENUM_DashDotDot,
    341   XFA_ATTRIBUTEENUM_Square,
    342   XFA_ATTRIBUTEENUM_Dynamic,
    343   XFA_ATTRIBUTEENUM_Manual,
    344   XFA_ATTRIBUTEENUM_Etched,
    345   XFA_ATTRIBUTEENUM_ValidationState,
    346   XFA_ATTRIBUTEENUM_Cursive,
    347   XFA_ATTRIBUTEENUM_Last,
    348   XFA_ATTRIBUTEENUM_Left,
    349   XFA_ATTRIBUTEENUM_Link,
    350   XFA_ATTRIBUTEENUM_Long,
    351   XFA_ATTRIBUTEENUM_InternationalCarrier,
    352   XFA_ATTRIBUTEENUM_PDF1_3,
    353   XFA_ATTRIBUTEENUM_PDF1_6,
    354   XFA_ATTRIBUTEENUM_Serif,
    355   XFA_ATTRIBUTEENUM_PostSave,
    356   XFA_ATTRIBUTEENUM_Ready,
    357   XFA_ATTRIBUTEENUM_PostSign,
    358   XFA_ATTRIBUTEENUM_Arabic,
    359   XFA_ATTRIBUTEENUM_Error,
    360   XFA_ATTRIBUTEENUM_Urlencoded,
    361   XFA_ATTRIBUTEENUM_Lowered,
    362 };
    363 enum XFA_ATTRIBUTE {
    364   XFA_ATTRIBUTE_H,
    365   XFA_ATTRIBUTE_W,
    366   XFA_ATTRIBUTE_X,
    367   XFA_ATTRIBUTE_Y,
    368   XFA_ATTRIBUTE_Id,
    369   XFA_ATTRIBUTE_To,
    370   XFA_ATTRIBUTE_LineThrough,
    371   XFA_ATTRIBUTE_HAlign,
    372   XFA_ATTRIBUTE_Typeface,
    373   XFA_ATTRIBUTE_BeforeTarget,
    374   XFA_ATTRIBUTE_Name,
    375   XFA_ATTRIBUTE_Next,
    376   XFA_ATTRIBUTE_DataRowCount,
    377   XFA_ATTRIBUTE_Break,
    378   XFA_ATTRIBUTE_VScrollPolicy,
    379   XFA_ATTRIBUTE_FontHorizontalScale,
    380   XFA_ATTRIBUTE_TextIndent,
    381   XFA_ATTRIBUTE_Context,
    382   XFA_ATTRIBUTE_TrayOut,
    383   XFA_ATTRIBUTE_Cap,
    384   XFA_ATTRIBUTE_Max,
    385   XFA_ATTRIBUTE_Min,
    386   XFA_ATTRIBUTE_Ref,
    387   XFA_ATTRIBUTE_Rid,
    388   XFA_ATTRIBUTE_Url,
    389   XFA_ATTRIBUTE_Use,
    390   XFA_ATTRIBUTE_LeftInset,
    391   XFA_ATTRIBUTE_Widows,
    392   XFA_ATTRIBUTE_Level,
    393   XFA_ATTRIBUTE_BottomInset,
    394   XFA_ATTRIBUTE_OverflowTarget,
    395   XFA_ATTRIBUTE_AllowMacro,
    396   XFA_ATTRIBUTE_PagePosition,
    397   XFA_ATTRIBUTE_ColumnWidths,
    398   XFA_ATTRIBUTE_OverflowLeader,
    399   XFA_ATTRIBUTE_Action,
    400   XFA_ATTRIBUTE_NonRepudiation,
    401   XFA_ATTRIBUTE_Rate,
    402   XFA_ATTRIBUTE_AllowRichText,
    403   XFA_ATTRIBUTE_Role,
    404   XFA_ATTRIBUTE_OverflowTrailer,
    405   XFA_ATTRIBUTE_Operation,
    406   XFA_ATTRIBUTE_Timeout,
    407   XFA_ATTRIBUTE_TopInset,
    408   XFA_ATTRIBUTE_Access,
    409   XFA_ATTRIBUTE_CommandType,
    410   XFA_ATTRIBUTE_Format,
    411   XFA_ATTRIBUTE_DataPrep,
    412   XFA_ATTRIBUTE_WidgetData,
    413   XFA_ATTRIBUTE_Abbr,
    414   XFA_ATTRIBUTE_MarginRight,
    415   XFA_ATTRIBUTE_DataDescription,
    416   XFA_ATTRIBUTE_EncipherOnly,
    417   XFA_ATTRIBUTE_KerningMode,
    418   XFA_ATTRIBUTE_Rotate,
    419   XFA_ATTRIBUTE_WordCharacterCount,
    420   XFA_ATTRIBUTE_Type,
    421   XFA_ATTRIBUTE_Reserve,
    422   XFA_ATTRIBUTE_TextLocation,
    423   XFA_ATTRIBUTE_Priority,
    424   XFA_ATTRIBUTE_Underline,
    425   XFA_ATTRIBUTE_ModuleWidth,
    426   XFA_ATTRIBUTE_Hyphenate,
    427   XFA_ATTRIBUTE_Listen,
    428   XFA_ATTRIBUTE_Delimiter,
    429   XFA_ATTRIBUTE_ContentType,
    430   XFA_ATTRIBUTE_StartNew,
    431   XFA_ATTRIBUTE_EofAction,
    432   XFA_ATTRIBUTE_AllowNeutral,
    433   XFA_ATTRIBUTE_Connection,
    434   XFA_ATTRIBUTE_BaselineShift,
    435   XFA_ATTRIBUTE_OverlinePeriod,
    436   XFA_ATTRIBUTE_FracDigits,
    437   XFA_ATTRIBUTE_Orientation,
    438   XFA_ATTRIBUTE_TimeStamp,
    439   XFA_ATTRIBUTE_PrintCheckDigit,
    440   XFA_ATTRIBUTE_MarginLeft,
    441   XFA_ATTRIBUTE_Stroke,
    442   XFA_ATTRIBUTE_ModuleHeight,
    443   XFA_ATTRIBUTE_TransferEncoding,
    444   XFA_ATTRIBUTE_Usage,
    445   XFA_ATTRIBUTE_Presence,
    446   XFA_ATTRIBUTE_RadixOffset,
    447   XFA_ATTRIBUTE_Preserve,
    448   XFA_ATTRIBUTE_AliasNode,
    449   XFA_ATTRIBUTE_MultiLine,
    450   XFA_ATTRIBUTE_Version,
    451   XFA_ATTRIBUTE_StartChar,
    452   XFA_ATTRIBUTE_ScriptTest,
    453   XFA_ATTRIBUTE_StartAngle,
    454   XFA_ATTRIBUTE_CursorType,
    455   XFA_ATTRIBUTE_DigitalSignature,
    456   XFA_ATTRIBUTE_CodeType,
    457   XFA_ATTRIBUTE_Output,
    458   XFA_ATTRIBUTE_BookendTrailer,
    459   XFA_ATTRIBUTE_ImagingBBox,
    460   XFA_ATTRIBUTE_ExcludeInitialCap,
    461   XFA_ATTRIBUTE_Force,
    462   XFA_ATTRIBUTE_CrlSign,
    463   XFA_ATTRIBUTE_Previous,
    464   XFA_ATTRIBUTE_PushCharacterCount,
    465   XFA_ATTRIBUTE_NullTest,
    466   XFA_ATTRIBUTE_RunAt,
    467   XFA_ATTRIBUTE_SpaceBelow,
    468   XFA_ATTRIBUTE_SweepAngle,
    469   XFA_ATTRIBUTE_NumberOfCells,
    470   XFA_ATTRIBUTE_LetterSpacing,
    471   XFA_ATTRIBUTE_LockType,
    472   XFA_ATTRIBUTE_PasswordChar,
    473   XFA_ATTRIBUTE_VAlign,
    474   XFA_ATTRIBUTE_SourceBelow,
    475   XFA_ATTRIBUTE_Inverted,
    476   XFA_ATTRIBUTE_Mark,
    477   XFA_ATTRIBUTE_MaxH,
    478   XFA_ATTRIBUTE_MaxW,
    479   XFA_ATTRIBUTE_Truncate,
    480   XFA_ATTRIBUTE_MinH,
    481   XFA_ATTRIBUTE_MinW,
    482   XFA_ATTRIBUTE_Initial,
    483   XFA_ATTRIBUTE_Mode,
    484   XFA_ATTRIBUTE_Layout,
    485   XFA_ATTRIBUTE_Server,
    486   XFA_ATTRIBUTE_EmbedPDF,
    487   XFA_ATTRIBUTE_OddOrEven,
    488   XFA_ATTRIBUTE_TabDefault,
    489   XFA_ATTRIBUTE_Contains,
    490   XFA_ATTRIBUTE_RightInset,
    491   XFA_ATTRIBUTE_MaxChars,
    492   XFA_ATTRIBUTE_Open,
    493   XFA_ATTRIBUTE_Relation,
    494   XFA_ATTRIBUTE_WideNarrowRatio,
    495   XFA_ATTRIBUTE_Relevant,
    496   XFA_ATTRIBUTE_SignatureType,
    497   XFA_ATTRIBUTE_LineThroughPeriod,
    498   XFA_ATTRIBUTE_Shape,
    499   XFA_ATTRIBUTE_TabStops,
    500   XFA_ATTRIBUTE_OutputBelow,
    501   XFA_ATTRIBUTE_Short,
    502   XFA_ATTRIBUTE_FontVerticalScale,
    503   XFA_ATTRIBUTE_Thickness,
    504   XFA_ATTRIBUTE_CommitOn,
    505   XFA_ATTRIBUTE_RemainCharacterCount,
    506   XFA_ATTRIBUTE_KeyAgreement,
    507   XFA_ATTRIBUTE_ErrorCorrectionLevel,
    508   XFA_ATTRIBUTE_UpsMode,
    509   XFA_ATTRIBUTE_MergeMode,
    510   XFA_ATTRIBUTE_Circular,
    511   XFA_ATTRIBUTE_PsName,
    512   XFA_ATTRIBUTE_Trailer,
    513   XFA_ATTRIBUTE_UnicodeRange,
    514   XFA_ATTRIBUTE_ExecuteType,
    515   XFA_ATTRIBUTE_DuplexImposition,
    516   XFA_ATTRIBUTE_TrayIn,
    517   XFA_ATTRIBUTE_BindingNode,
    518   XFA_ATTRIBUTE_BofAction,
    519   XFA_ATTRIBUTE_Save,
    520   XFA_ATTRIBUTE_TargetType,
    521   XFA_ATTRIBUTE_KeyEncipherment,
    522   XFA_ATTRIBUTE_CredentialServerPolicy,
    523   XFA_ATTRIBUTE_Size,
    524   XFA_ATTRIBUTE_InitialNumber,
    525   XFA_ATTRIBUTE_Slope,
    526   XFA_ATTRIBUTE_CSpace,
    527   XFA_ATTRIBUTE_ColSpan,
    528   XFA_ATTRIBUTE_Binding,
    529   XFA_ATTRIBUTE_Checksum,
    530   XFA_ATTRIBUTE_CharEncoding,
    531   XFA_ATTRIBUTE_Bind,
    532   XFA_ATTRIBUTE_TextEntry,
    533   XFA_ATTRIBUTE_Archive,
    534   XFA_ATTRIBUTE_Uuid,
    535   XFA_ATTRIBUTE_Posture,
    536   XFA_ATTRIBUTE_After,
    537   XFA_ATTRIBUTE_Orphans,
    538   XFA_ATTRIBUTE_QualifiedName,
    539   XFA_ATTRIBUTE_Usehref,
    540   XFA_ATTRIBUTE_Locale,
    541   XFA_ATTRIBUTE_Weight,
    542   XFA_ATTRIBUTE_UnderlinePeriod,
    543   XFA_ATTRIBUTE_Data,
    544   XFA_ATTRIBUTE_Desc,
    545   XFA_ATTRIBUTE_Numbered,
    546   XFA_ATTRIBUTE_DataColumnCount,
    547   XFA_ATTRIBUTE_Overline,
    548   XFA_ATTRIBUTE_UrlPolicy,
    549   XFA_ATTRIBUTE_AnchorType,
    550   XFA_ATTRIBUTE_LabelRef,
    551   XFA_ATTRIBUTE_BookendLeader,
    552   XFA_ATTRIBUTE_MaxLength,
    553   XFA_ATTRIBUTE_AccessKey,
    554   XFA_ATTRIBUTE_CursorLocation,
    555   XFA_ATTRIBUTE_DelayedOpen,
    556   XFA_ATTRIBUTE_Target,
    557   XFA_ATTRIBUTE_DataEncipherment,
    558   XFA_ATTRIBUTE_AfterTarget,
    559   XFA_ATTRIBUTE_Leader,
    560   XFA_ATTRIBUTE_Picker,
    561   XFA_ATTRIBUTE_From,
    562   XFA_ATTRIBUTE_BaseProfile,
    563   XFA_ATTRIBUTE_Aspect,
    564   XFA_ATTRIBUTE_RowColumnRatio,
    565   XFA_ATTRIBUTE_LineHeight,
    566   XFA_ATTRIBUTE_Highlight,
    567   XFA_ATTRIBUTE_ValueRef,
    568   XFA_ATTRIBUTE_MaxEntries,
    569   XFA_ATTRIBUTE_DataLength,
    570   XFA_ATTRIBUTE_Activity,
    571   XFA_ATTRIBUTE_Input,
    572   XFA_ATTRIBUTE_Value,
    573   XFA_ATTRIBUTE_BlankOrNotBlank,
    574   XFA_ATTRIBUTE_AddRevocationInfo,
    575   XFA_ATTRIBUTE_GenericFamily,
    576   XFA_ATTRIBUTE_Hand,
    577   XFA_ATTRIBUTE_Href,
    578   XFA_ATTRIBUTE_TextEncoding,
    579   XFA_ATTRIBUTE_LeadDigits,
    580   XFA_ATTRIBUTE_Permissions,
    581   XFA_ATTRIBUTE_SpaceAbove,
    582   XFA_ATTRIBUTE_CodeBase,
    583   XFA_ATTRIBUTE_Stock,
    584   XFA_ATTRIBUTE_IsNull,
    585   XFA_ATTRIBUTE_RestoreState,
    586   XFA_ATTRIBUTE_ExcludeAllCaps,
    587   XFA_ATTRIBUTE_FormatTest,
    588   XFA_ATTRIBUTE_HScrollPolicy,
    589   XFA_ATTRIBUTE_Join,
    590   XFA_ATTRIBUTE_KeyCertSign,
    591   XFA_ATTRIBUTE_Radius,
    592   XFA_ATTRIBUTE_SourceAbove,
    593   XFA_ATTRIBUTE_Override,
    594   XFA_ATTRIBUTE_ClassId,
    595   XFA_ATTRIBUTE_Disable,
    596   XFA_ATTRIBUTE_Scope,
    597   XFA_ATTRIBUTE_Match,
    598   XFA_ATTRIBUTE_Placement,
    599   XFA_ATTRIBUTE_Before,
    600   XFA_ATTRIBUTE_WritingScript,
    601   XFA_ATTRIBUTE_EndChar,
    602   XFA_ATTRIBUTE_Lock,
    603   XFA_ATTRIBUTE_Long,
    604   XFA_ATTRIBUTE_Intact,
    605   XFA_ATTRIBUTE_XdpContent,
    606   XFA_ATTRIBUTE_DecipherOnly,
    607 };
    608 enum XFA_ELEMENT {
    609   XFA_ELEMENT_Ps,
    610   XFA_ELEMENT_To,
    611   XFA_ELEMENT_Ui,
    612   XFA_ELEMENT_RecordSet,
    613   XFA_ELEMENT_SubsetBelow,
    614   XFA_ELEMENT_SubformSet,
    615   XFA_ELEMENT_AdobeExtensionLevel,
    616   XFA_ELEMENT_Typeface,
    617   XFA_ELEMENT_Break,
    618   XFA_ELEMENT_FontInfo,
    619   XFA_ELEMENT_NumberPattern,
    620   XFA_ELEMENT_DynamicRender,
    621   XFA_ELEMENT_PrintScaling,
    622   XFA_ELEMENT_CheckButton,
    623   XFA_ELEMENT_DatePatterns,
    624   XFA_ELEMENT_SourceSet,
    625   XFA_ELEMENT_Amd,
    626   XFA_ELEMENT_Arc,
    627   XFA_ELEMENT_Day,
    628   XFA_ELEMENT_Era,
    629   XFA_ELEMENT_Jog,
    630   XFA_ELEMENT_Log,
    631   XFA_ELEMENT_Map,
    632   XFA_ELEMENT_Mdp,
    633   XFA_ELEMENT_BreakBefore,
    634   XFA_ELEMENT_Oid,
    635   XFA_ELEMENT_Pcl,
    636   XFA_ELEMENT_Pdf,
    637   XFA_ELEMENT_Ref,
    638   XFA_ELEMENT_Uri,
    639   XFA_ELEMENT_Xdc,
    640   XFA_ELEMENT_Xdp,
    641   XFA_ELEMENT_Xfa,
    642   XFA_ELEMENT_Xsl,
    643   XFA_ELEMENT_Zpl,
    644   XFA_ELEMENT_Cache,
    645   XFA_ELEMENT_Margin,
    646   XFA_ELEMENT_KeyUsage,
    647   XFA_ELEMENT_Exclude,
    648   XFA_ELEMENT_ChoiceList,
    649   XFA_ELEMENT_Level,
    650   XFA_ELEMENT_LabelPrinter,
    651   XFA_ELEMENT_CalendarSymbols,
    652   XFA_ELEMENT_Para,
    653   XFA_ELEMENT_Part,
    654   XFA_ELEMENT_Pdfa,
    655   XFA_ELEMENT_Filter,
    656   XFA_ELEMENT_Present,
    657   XFA_ELEMENT_Pagination,
    658   XFA_ELEMENT_Encoding,
    659   XFA_ELEMENT_Event,
    660   XFA_ELEMENT_Whitespace,
    661   XFA_ELEMENT_DefaultUi,
    662   XFA_ELEMENT_DataModel,
    663   XFA_ELEMENT_Barcode,
    664   XFA_ELEMENT_TimePattern,
    665   XFA_ELEMENT_BatchOutput,
    666   XFA_ELEMENT_Enforce,
    667   XFA_ELEMENT_CurrencySymbols,
    668   XFA_ELEMENT_AddSilentPrint,
    669   XFA_ELEMENT_Rename,
    670   XFA_ELEMENT_Operation,
    671   XFA_ELEMENT_Typefaces,
    672   XFA_ELEMENT_SubjectDNs,
    673   XFA_ELEMENT_Issuers,
    674   XFA_ELEMENT_SignaturePseudoModel,
    675   XFA_ELEMENT_WsdlConnection,
    676   XFA_ELEMENT_Debug,
    677   XFA_ELEMENT_Delta,
    678   XFA_ELEMENT_EraNames,
    679   XFA_ELEMENT_ModifyAnnots,
    680   XFA_ELEMENT_StartNode,
    681   XFA_ELEMENT_Button,
    682   XFA_ELEMENT_Format,
    683   XFA_ELEMENT_Border,
    684   XFA_ELEMENT_Area,
    685   XFA_ELEMENT_Hyphenation,
    686   XFA_ELEMENT_Text,
    687   XFA_ELEMENT_Time,
    688   XFA_ELEMENT_Type,
    689   XFA_ELEMENT_Overprint,
    690   XFA_ELEMENT_Certificates,
    691   XFA_ELEMENT_EncryptionMethods,
    692   XFA_ELEMENT_SetProperty,
    693   XFA_ELEMENT_PrinterName,
    694   XFA_ELEMENT_StartPage,
    695   XFA_ELEMENT_PageOffset,
    696   XFA_ELEMENT_DateTime,
    697   XFA_ELEMENT_Comb,
    698   XFA_ELEMENT_Pattern,
    699   XFA_ELEMENT_IfEmpty,
    700   XFA_ELEMENT_SuppressBanner,
    701   XFA_ELEMENT_OutputBin,
    702   XFA_ELEMENT_Field,
    703   XFA_ELEMENT_Agent,
    704   XFA_ELEMENT_OutputXSL,
    705   XFA_ELEMENT_AdjustData,
    706   XFA_ELEMENT_AutoSave,
    707   XFA_ELEMENT_ContentArea,
    708   XFA_ELEMENT_EventPseudoModel,
    709   XFA_ELEMENT_WsdlAddress,
    710   XFA_ELEMENT_Solid,
    711   XFA_ELEMENT_DateTimeSymbols,
    712   XFA_ELEMENT_EncryptionLevel,
    713   XFA_ELEMENT_Edge,
    714   XFA_ELEMENT_Stipple,
    715   XFA_ELEMENT_Attributes,
    716   XFA_ELEMENT_VersionControl,
    717   XFA_ELEMENT_Meridiem,
    718   XFA_ELEMENT_ExclGroup,
    719   XFA_ELEMENT_ToolTip,
    720   XFA_ELEMENT_Compress,
    721   XFA_ELEMENT_Reason,
    722   XFA_ELEMENT_Execute,
    723   XFA_ELEMENT_ContentCopy,
    724   XFA_ELEMENT_DateTimeEdit,
    725   XFA_ELEMENT_Config,
    726   XFA_ELEMENT_Image,
    727   XFA_ELEMENT_SharpxHTML,
    728   XFA_ELEMENT_NumberOfCopies,
    729   XFA_ELEMENT_BehaviorOverride,
    730   XFA_ELEMENT_TimeStamp,
    731   XFA_ELEMENT_Month,
    732   XFA_ELEMENT_ViewerPreferences,
    733   XFA_ELEMENT_ScriptModel,
    734   XFA_ELEMENT_Decimal,
    735   XFA_ELEMENT_Subform,
    736   XFA_ELEMENT_Select,
    737   XFA_ELEMENT_Window,
    738   XFA_ELEMENT_LocaleSet,
    739   XFA_ELEMENT_Handler,
    740   XFA_ELEMENT_HostPseudoModel,
    741   XFA_ELEMENT_Presence,
    742   XFA_ELEMENT_Record,
    743   XFA_ELEMENT_Embed,
    744   XFA_ELEMENT_Version,
    745   XFA_ELEMENT_Command,
    746   XFA_ELEMENT_Copies,
    747   XFA_ELEMENT_Staple,
    748   XFA_ELEMENT_SubmitFormat,
    749   XFA_ELEMENT_Boolean,
    750   XFA_ELEMENT_Message,
    751   XFA_ELEMENT_Output,
    752   XFA_ELEMENT_PsMap,
    753   XFA_ELEMENT_ExcludeNS,
    754   XFA_ELEMENT_Assist,
    755   XFA_ELEMENT_Picture,
    756   XFA_ELEMENT_Traversal,
    757   XFA_ELEMENT_SilentPrint,
    758   XFA_ELEMENT_WebClient,
    759   XFA_ELEMENT_LayoutPseudoModel,
    760   XFA_ELEMENT_Producer,
    761   XFA_ELEMENT_Corner,
    762   XFA_ELEMENT_MsgId,
    763   XFA_ELEMENT_Color,
    764   XFA_ELEMENT_Keep,
    765   XFA_ELEMENT_Query,
    766   XFA_ELEMENT_Insert,
    767   XFA_ELEMENT_ImageEdit,
    768   XFA_ELEMENT_Validate,
    769   XFA_ELEMENT_DigestMethods,
    770   XFA_ELEMENT_NumberPatterns,
    771   XFA_ELEMENT_PageSet,
    772   XFA_ELEMENT_Integer,
    773   XFA_ELEMENT_SoapAddress,
    774   XFA_ELEMENT_Equate,
    775   XFA_ELEMENT_FormFieldFilling,
    776   XFA_ELEMENT_PageRange,
    777   XFA_ELEMENT_Update,
    778   XFA_ELEMENT_ConnectString,
    779   XFA_ELEMENT_Mode,
    780   XFA_ELEMENT_Layout,
    781   XFA_ELEMENT_Sharpxml,
    782   XFA_ELEMENT_XsdConnection,
    783   XFA_ELEMENT_Traverse,
    784   XFA_ELEMENT_Encodings,
    785   XFA_ELEMENT_Template,
    786   XFA_ELEMENT_Acrobat,
    787   XFA_ELEMENT_ValidationMessaging,
    788   XFA_ELEMENT_Signing,
    789   XFA_ELEMENT_DataWindow,
    790   XFA_ELEMENT_Script,
    791   XFA_ELEMENT_AddViewerPreferences,
    792   XFA_ELEMENT_AlwaysEmbed,
    793   XFA_ELEMENT_PasswordEdit,
    794   XFA_ELEMENT_NumericEdit,
    795   XFA_ELEMENT_EncryptionMethod,
    796   XFA_ELEMENT_Change,
    797   XFA_ELEMENT_PageArea,
    798   XFA_ELEMENT_SubmitUrl,
    799   XFA_ELEMENT_Oids,
    800   XFA_ELEMENT_Signature,
    801   XFA_ELEMENT_ADBE_JSConsole,
    802   XFA_ELEMENT_Caption,
    803   XFA_ELEMENT_Relevant,
    804   XFA_ELEMENT_FlipLabel,
    805   XFA_ELEMENT_ExData,
    806   XFA_ELEMENT_DayNames,
    807   XFA_ELEMENT_SoapAction,
    808   XFA_ELEMENT_DefaultTypeface,
    809   XFA_ELEMENT_Manifest,
    810   XFA_ELEMENT_Overflow,
    811   XFA_ELEMENT_Linear,
    812   XFA_ELEMENT_CurrencySymbol,
    813   XFA_ELEMENT_Delete,
    814   XFA_ELEMENT_Deltas,
    815   XFA_ELEMENT_DigestMethod,
    816   XFA_ELEMENT_InstanceManager,
    817   XFA_ELEMENT_EquateRange,
    818   XFA_ELEMENT_Medium,
    819   XFA_ELEMENT_TextEdit,
    820   XFA_ELEMENT_TemplateCache,
    821   XFA_ELEMENT_CompressObjectStream,
    822   XFA_ELEMENT_DataValue,
    823   XFA_ELEMENT_AccessibleContent,
    824   XFA_ELEMENT_NodeList,
    825   XFA_ELEMENT_IncludeXDPContent,
    826   XFA_ELEMENT_XmlConnection,
    827   XFA_ELEMENT_ValidateApprovalSignatures,
    828   XFA_ELEMENT_SignData,
    829   XFA_ELEMENT_Packets,
    830   XFA_ELEMENT_DatePattern,
    831   XFA_ELEMENT_DuplexOption,
    832   XFA_ELEMENT_Base,
    833   XFA_ELEMENT_Bind,
    834   XFA_ELEMENT_Compression,
    835   XFA_ELEMENT_User,
    836   XFA_ELEMENT_Rectangle,
    837   XFA_ELEMENT_EffectiveOutputPolicy,
    838   XFA_ELEMENT_ADBE_JSDebugger,
    839   XFA_ELEMENT_Acrobat7,
    840   XFA_ELEMENT_Interactive,
    841   XFA_ELEMENT_Locale,
    842   XFA_ELEMENT_CurrentPage,
    843   XFA_ELEMENT_Data,
    844   XFA_ELEMENT_Date,
    845   XFA_ELEMENT_Desc,
    846   XFA_ELEMENT_Encrypt,
    847   XFA_ELEMENT_Draw,
    848   XFA_ELEMENT_Encryption,
    849   XFA_ELEMENT_MeridiemNames,
    850   XFA_ELEMENT_Messaging,
    851   XFA_ELEMENT_Speak,
    852   XFA_ELEMENT_DataGroup,
    853   XFA_ELEMENT_Common,
    854   XFA_ELEMENT_Sharptext,
    855   XFA_ELEMENT_PaginationOverride,
    856   XFA_ELEMENT_Reasons,
    857   XFA_ELEMENT_SignatureProperties,
    858   XFA_ELEMENT_Threshold,
    859   XFA_ELEMENT_AppearanceFilter,
    860   XFA_ELEMENT_Fill,
    861   XFA_ELEMENT_Font,
    862   XFA_ELEMENT_Form,
    863   XFA_ELEMENT_MediumInfo,
    864   XFA_ELEMENT_Certificate,
    865   XFA_ELEMENT_Password,
    866   XFA_ELEMENT_RunScripts,
    867   XFA_ELEMENT_Trace,
    868   XFA_ELEMENT_Float,
    869   XFA_ELEMENT_RenderPolicy,
    870   XFA_ELEMENT_LogPseudoModel,
    871   XFA_ELEMENT_Destination,
    872   XFA_ELEMENT_Value,
    873   XFA_ELEMENT_Bookend,
    874   XFA_ELEMENT_ExObject,
    875   XFA_ELEMENT_OpenAction,
    876   XFA_ELEMENT_NeverEmbed,
    877   XFA_ELEMENT_BindItems,
    878   XFA_ELEMENT_Calculate,
    879   XFA_ELEMENT_Print,
    880   XFA_ELEMENT_Extras,
    881   XFA_ELEMENT_Proto,
    882   XFA_ELEMENT_DSigData,
    883   XFA_ELEMENT_Creator,
    884   XFA_ELEMENT_Connect,
    885   XFA_ELEMENT_Permissions,
    886   XFA_ELEMENT_ConnectionSet,
    887   XFA_ELEMENT_Submit,
    888   XFA_ELEMENT_Range,
    889   XFA_ELEMENT_Linearized,
    890   XFA_ELEMENT_Packet,
    891   XFA_ELEMENT_RootElement,
    892   XFA_ELEMENT_PlaintextMetadata,
    893   XFA_ELEMENT_NumberSymbols,
    894   XFA_ELEMENT_PrintHighQuality,
    895   XFA_ELEMENT_Driver,
    896   XFA_ELEMENT_IncrementalLoad,
    897   XFA_ELEMENT_SubjectDN,
    898   XFA_ELEMENT_CompressLogicalStructure,
    899   XFA_ELEMENT_IncrementalMerge,
    900   XFA_ELEMENT_Radial,
    901   XFA_ELEMENT_Variables,
    902   XFA_ELEMENT_TimePatterns,
    903   XFA_ELEMENT_EffectiveInputPolicy,
    904   XFA_ELEMENT_NameAttr,
    905   XFA_ELEMENT_Conformance,
    906   XFA_ELEMENT_Transform,
    907   XFA_ELEMENT_LockDocument,
    908   XFA_ELEMENT_BreakAfter,
    909   XFA_ELEMENT_Line,
    910   XFA_ELEMENT_List,
    911   XFA_ELEMENT_Source,
    912   XFA_ELEMENT_Occur,
    913   XFA_ELEMENT_PickTrayByPDFSize,
    914   XFA_ELEMENT_MonthNames,
    915   XFA_ELEMENT_Severity,
    916   XFA_ELEMENT_GroupParent,
    917   XFA_ELEMENT_DocumentAssembly,
    918   XFA_ELEMENT_NumberSymbol,
    919   XFA_ELEMENT_Tagged,
    920   XFA_ELEMENT_Items,
    921 };
    922 #define XFA_ELEMENT_UNKNOWN ((XFA_ELEMENT)-1)
    923 typedef struct _XFA_ELEMENTINFO {
    924   uint32_t uHash;
    925   const FX_WCHAR* pName;
    926   XFA_ELEMENT eName;
    927   FX_DWORD dwPackets;
    928   FX_DWORD eObjectType;
    929 } XFA_ELEMENTINFO, *XFA_LPELEMENTINFO;
    930 typedef XFA_ELEMENTINFO const* XFA_LPCELEMENTINFO;
    931 int32_t XFA_GetElementCount();
    932 XFA_LPCELEMENTINFO XFA_GetElementByName(const CFX_WideStringC& wsName);
    933 XFA_LPCELEMENTINFO XFA_GetElementByID(XFA_ELEMENT eName);
    934 enum XFA_ATTRIBUTETYPE {
    935   XFA_ATTRIBUTETYPE_NOTSURE,
    936   XFA_ATTRIBUTETYPE_Enum,
    937   XFA_ATTRIBUTETYPE_Cdata,
    938   XFA_ATTRIBUTETYPE_Boolean,
    939   XFA_ATTRIBUTETYPE_Integer,
    940   XFA_ATTRIBUTETYPE_Measure,
    941 };
    942 typedef struct _XFA_ATTRIBUTEINFO {
    943   uint32_t uHash;
    944   const FX_WCHAR* pName;
    945   XFA_ATTRIBUTE eName;
    946   XFA_ATTRIBUTETYPE eType;
    947   FX_DWORD dwPackets;
    948   void* pDefValue;
    949 } XFA_ATTRIBUTEINFO, *XFA_LPATTRIBUTEINFO;
    950 typedef XFA_ATTRIBUTEINFO const* XFA_LPCATTRIBUTEINFO;
    951 int32_t XFA_GetAttributeCount();
    952 XFA_LPCATTRIBUTEINFO XFA_GetAttributeByName(const CFX_WideStringC& wsName);
    953 XFA_LPCATTRIBUTEINFO XFA_GetAttributeByID(XFA_ATTRIBUTE eName);
    954 FX_BOOL XFA_GetAttributeDefaultValue(void*& pValue,
    955                                      XFA_ELEMENT eElement,
    956                                      XFA_ATTRIBUTE eAttribute,
    957                                      XFA_ATTRIBUTETYPE eType,
    958                                      FX_DWORD dwPacket);
    959 XFA_ATTRIBUTEENUM XFA_GetAttributeDefaultValue_Enum(XFA_ELEMENT eElement,
    960                                                     XFA_ATTRIBUTE eAttribute,
    961                                                     FX_DWORD dwPacket);
    962 CFX_WideStringC XFA_GetAttributeDefaultValue_Cdata(XFA_ELEMENT eElement,
    963                                                    XFA_ATTRIBUTE eAttribute,
    964                                                    FX_DWORD dwPacket);
    965 FX_BOOL XFA_GetAttributeDefaultValue_Boolean(XFA_ELEMENT eElement,
    966                                              XFA_ATTRIBUTE eAttribute,
    967                                              FX_DWORD dwPacket);
    968 int32_t XFA_GetAttributeDefaultValue_Integer(XFA_ELEMENT eElement,
    969                                              XFA_ATTRIBUTE eAttribute,
    970                                              FX_DWORD dwPacket);
    971 CXFA_Measurement XFA_GetAttributeDefaultValue_Measure(XFA_ELEMENT eElement,
    972                                                       XFA_ATTRIBUTE eAttribute,
    973                                                       FX_DWORD dwPacket);
    974 typedef struct _XFA_ELEMENTHIERARCHY {
    975   FX_WORD wStart;
    976   FX_WORD wCount;
    977   FX_WORD wParentIndex;
    978 } XFA_ELEMENTHIERARCHY, *XFA_LPELEMENTHIERARCHY;
    979 typedef XFA_ELEMENTHIERARCHY const* XFA_LPCELEMENTHIERARCHY;
    980 typedef struct _XFA_SCRIPTHIERARCHY {
    981   FX_WORD wMethodStart;
    982   FX_WORD wMethodCount;
    983   FX_WORD wAttributeStart;
    984   FX_WORD wAttributeCount;
    985   int16_t wParentIndex;
    986 } XFA_SCRIPTHIERARCHY, *XFA_LPSCRIPTHIERARCHY;
    987 typedef XFA_SCRIPTHIERARCHY const* XFA_LPCSCRIPTHIERARCHY;
    988 const FX_WORD* XFA_GetElementChildren(XFA_ELEMENT eElement, int32_t& iCount);
    989 const uint8_t* XFA_GetElementAttributes(XFA_ELEMENT eElement, int32_t& iCount);
    990 XFA_LPCELEMENTINFO XFA_GetChildOfElement(XFA_ELEMENT eElement,
    991                                          XFA_ELEMENT eChild,
    992                                          FX_DWORD dwPacket);
    993 XFA_LPCATTRIBUTEINFO XFA_GetAttributeOfElement(XFA_ELEMENT eElement,
    994                                                XFA_ATTRIBUTE eAttribute,
    995                                                FX_DWORD dwPacket);
    996 #define XFA_PROPERTYFLAG_OneOf 0x01
    997 #define XFA_PROPERTYFLAG_DefaultOneOf 0x02
    998 typedef struct _XFA_PROPERTY {
    999   FX_WORD eName;
   1000   uint8_t uOccur;
   1001   uint8_t uFlags;
   1002 } XFA_PROPERTY, *XFA_LPPROPERTY;
   1003 typedef XFA_PROPERTY const* XFA_LPCPROPERTY;
   1004 XFA_LPCPROPERTY XFA_GetElementProperties(XFA_ELEMENT eElement, int32_t& iCount);
   1005 XFA_LPCPROPERTY XFA_GetPropertyOfElement(XFA_ELEMENT eElement,
   1006                                          XFA_ELEMENT eProperty,
   1007                                          FX_DWORD dwPacket);
   1008 typedef struct _XFA_ATTRIBUTEENUMINFO {
   1009   uint32_t uHash;
   1010   const FX_WCHAR* pName;
   1011   XFA_ATTRIBUTEENUM eName;
   1012 } XFA_ATTRIBUTEENUMINFO, *XFA_LPATTRIBUTEENUMINFO;
   1013 typedef XFA_ATTRIBUTEENUMINFO const* XFA_LPCATTRIBUTEENUMINFO;
   1014 XFA_LPCATTRIBUTEENUMINFO XFA_GetAttributeEnumByName(
   1015     const CFX_WideStringC& wsName);
   1016 XFA_LPCATTRIBUTEENUMINFO XFA_GetAttributeEnumByID(XFA_ATTRIBUTEENUM eName);
   1017 enum XFA_UNIT {
   1018   XFA_UNIT_Unknown,
   1019   XFA_UNIT_Percent,
   1020   XFA_UNIT_Angle,
   1021   XFA_UNIT_Em,
   1022   XFA_UNIT_Pt,
   1023   XFA_UNIT_In,
   1024   XFA_UNIT_Pc,
   1025   XFA_UNIT_Cm,
   1026   XFA_UNIT_Mm,
   1027   XFA_UNIT_Mp,
   1028 };
   1029 class CXFA_Measurement {
   1030  public:
   1031   void Set(const CFX_WideStringC& wsMeasure);
   1032   void Set(FX_FLOAT fValue, XFA_UNIT eUnit) {
   1033     m_fValue = fValue;
   1034     m_eUnit = eUnit;
   1035   }
   1036 
   1037   XFA_UNIT GetUnit() const { return m_eUnit; }
   1038   FX_FLOAT GetValue() const { return m_fValue; }
   1039   FX_BOOL ToString(CFX_WideString& wsMeasure) const;
   1040   FX_BOOL ToUnit(XFA_UNIT eUnit, FX_FLOAT& fValue) const;
   1041   FX_FLOAT ToUnit(XFA_UNIT eUnit) const {
   1042     FX_FLOAT f;
   1043     return ToUnit(eUnit, f) ? f : 0;
   1044   }
   1045   CXFA_Measurement() { Set(-1, XFA_UNIT_Unknown); }
   1046   CXFA_Measurement(const CFX_WideStringC& wsMeasure) { Set(wsMeasure); }
   1047   CXFA_Measurement(FX_FLOAT fValue, XFA_UNIT eUnit) { Set(fValue, eUnit); }
   1048   static XFA_UNIT GetUnit(const CFX_WideStringC& wsUnit);
   1049 
   1050  protected:
   1051   FX_FLOAT m_fValue;
   1052   XFA_UNIT m_eUnit;
   1053 };
   1054 class CFXJSE_Arguments;
   1055 class CXFA_Object;
   1056 typedef void (CXFA_Object::*XFA_METHOD_CALLBACK)(CFXJSE_Arguments* pArguments);
   1057 typedef struct _XFA_METHODINFO {
   1058   uint32_t uHash;
   1059   const FX_WCHAR* pName;
   1060   XFA_METHOD_CALLBACK lpfnCallback;
   1061 } XFA_METHODINFO, *XFA_LPMETHODINFO;
   1062 typedef XFA_METHODINFO const* XFA_LPCMETHODINFO;
   1063 int32_t XFA_GetMethodCount();
   1064 XFA_LPCMETHODINFO XFA_GetMethodByName(XFA_ELEMENT eElement,
   1065                                       const CFX_WideStringC& wsMethodName);
   1066 typedef void (CXFA_Object::*XFA_ATTRIBUTE_CALLBACK)(FXJSE_HVALUE hValue,
   1067                                                     FX_BOOL bSetting,
   1068                                                     XFA_ATTRIBUTE eAttribute);
   1069 enum XFA_SCRIPT_TYPE {
   1070   XFA_SCRIPT_Basic,
   1071   XFA_SCRIPT_Object,
   1072 };
   1073 typedef struct _XFA_SCRIPTATTRIBUTEINFO {
   1074   uint32_t uHash;
   1075   const FX_WCHAR* pName;
   1076   XFA_ATTRIBUTE_CALLBACK lpfnCallback;
   1077   int32_t eAttribute;
   1078   FX_WORD eValueType;
   1079 } XFA_SCRIPTATTRIBUTEINFO, *XFA_LPSCRIPTATTRIBUTEINFO;
   1080 typedef XFA_SCRIPTATTRIBUTEINFO const* XFA_LPCSCRIPTATTRIBUTEINFO;
   1081 XFA_LPCSCRIPTATTRIBUTEINFO XFA_GetScriptAttributeByName(
   1082     XFA_ELEMENT eElement,
   1083     const CFX_WideStringC& wsAttributeName);
   1084 #endif
   1085