summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--xfa/fxfa/include/fxfa_basic.h1
-rw-r--r--xfa/fxfa/parser/xfa_basic_data.cpp301
-rw-r--r--xfa/fxfa/parser/xfa_basic_imp.cpp9
3 files changed, 13 insertions, 298 deletions
diff --git a/xfa/fxfa/include/fxfa_basic.h b/xfa/fxfa/include/fxfa_basic.h
index 05e152acac..fc5b931895 100644
--- a/xfa/fxfa/include/fxfa_basic.h
+++ b/xfa/fxfa/include/fxfa_basic.h
@@ -987,7 +987,6 @@ struct XFA_SCRIPTHIERARCHY {
int16_t wParentIndex;
};
-const uint16_t* XFA_GetElementChildren(XFA_ELEMENT eElement, int32_t& iCount);
const uint8_t* XFA_GetElementAttributes(XFA_ELEMENT eElement, int32_t& iCount);
const XFA_ATTRIBUTEINFO* XFA_GetAttributeOfElement(XFA_ELEMENT eElement,
diff --git a/xfa/fxfa/parser/xfa_basic_data.cpp b/xfa/fxfa/parser/xfa_basic_data.cpp
index a2ffe4c6c1..82ca8d87f5 100644
--- a/xfa/fxfa/parser/xfa_basic_data.cpp
+++ b/xfa/fxfa/parser/xfa_basic_data.cpp
@@ -292,6 +292,7 @@ const XFA_ATTRIBUTEENUMINFO g_XFAEnumData[] = {
};
const int32_t g_iXFAEnumCount =
sizeof(g_XFAEnumData) / sizeof(XFA_ATTRIBUTEENUMINFO);
+
static const CXFA_Measurement g_XFAMeasurementData[] = {
CXFA_Measurement(0, XFA_UNIT_In),
CXFA_Measurement(0, XFA_UNIT_Pt),
@@ -303,6 +304,7 @@ static const CXFA_Measurement g_XFAMeasurementData[] = {
CXFA_Measurement(360, XFA_UNIT_Angle),
CXFA_Measurement(0.5, XFA_UNIT_Pt),
};
+
const XFA_ATTRIBUTEINFO g_XFAAttributeData[] = {
{0x68, L"h", XFA_ATTRIBUTE_H, XFA_ATTRIBUTETYPE_Measure,
XFA_XDPPACKET_Template | XFA_XDPPACKET_Form,
@@ -968,6 +970,7 @@ const XFA_ATTRIBUTEINFO g_XFAAttributeData[] = {
};
const int32_t g_iXFAAttributeCount =
sizeof(g_XFAAttributeData) / sizeof(XFA_ATTRIBUTEINFO);
+
const XFA_NOTSUREATTRIBUTE g_XFANotsureAttributes[] = {
{XFA_ELEMENT_SubformSet, XFA_ATTRIBUTE_Relation, XFA_ATTRIBUTETYPE_Enum,
(void*)XFA_ATTRIBUTEENUM_Ordered},
@@ -1067,6 +1070,7 @@ const XFA_NOTSUREATTRIBUTE g_XFANotsureAttributes[] = {
};
const int32_t g_iXFANotsureCount =
sizeof(g_XFANotsureAttributes) / sizeof(XFA_NOTSUREATTRIBUTE);
+
const XFA_ELEMENTINFO g_XFAElementData[] = {
{0x23ee3, L"ps", XFA_ELEMENT_Ps, XFA_XDPPACKET_Config, XFA_OBJECTTYPE_Node},
{0x25363, L"to", XFA_ELEMENT_To, XFA_XDPPACKET_Config,
@@ -1717,6 +1721,7 @@ const XFA_ELEMENTINFO g_XFAElementData[] = {
};
const int32_t g_iXFAElementCount =
sizeof(g_XFAElementData) / sizeof(XFA_ELEMENTINFO);
+
const XFA_ELEMENTHIERARCHY g_XFAElementPropertyIndex[] = {
{0, 8}, {8, 0}, {8, 14}, {22, 0}, {22, 0}, {22, 6}, {28, 0},
{28, 0}, {28, 1}, {29, 3}, {32, 0}, {32, 0}, {32, 0}, {32, 3},
@@ -1764,6 +1769,7 @@ const XFA_ELEMENTHIERARCHY g_XFAElementPropertyIndex[] = {
{423, 0}, {423, 1}, {424, 1}, {425, 0}, {425, 1}, {426, 0}, {426, 0},
{426, 0}, {426, 0}, {426, 0}, {426, 0},
};
+
const XFA_PROPERTY g_XFAElementPropertyData[] = {
{XFA_ELEMENT_FontInfo, 1, 0},
{XFA_ELEMENT_Jog, 1, 0},
@@ -2193,295 +2199,7 @@ const XFA_PROPERTY g_XFAElementPropertyData[] = {
{XFA_ELEMENT_Extras, 1, 0},
{XFA_ELEMENT_Month, 12, 0},
};
-const XFA_ELEMENTHIERARCHY g_XFAElementChildrenIndex[] = {
- {0, 0}, {0, 0}, {0, 0}, {0, 1}, {1, 0}, {1, 4}, {5, 0},
- {5, 0}, {5, 0}, {5, 3}, {8, 0}, {8, 0}, {8, 0}, {8, 0},
- {8, 0}, {8, 1}, {9, 0}, {9, 0}, {9, 0}, {9, 0}, {9, 0},
- {9, 0}, {9, 2}, {11, 0}, {11, 0}, {11, 0}, {11, 0}, {11, 0},
- {11, 0}, {11, 0}, {11, 0}, {11, 0}, {11, 0}, {11, 0}, {11, 0},
- {11, 0}, {11, 0}, {11, 0}, {11, 0}, {11, 0}, {11, 0}, {11, 0},
- {11, 0}, {11, 0}, {11, 0}, {11, 0}, {11, 0}, {11, 8}, {19, 0},
- {19, 0}, {19, 0}, {19, 0}, {19, 0}, {19, 0}, {19, 0}, {19, 0},
- {19, 0}, {19, 0}, {19, 0}, {19, 0}, {19, 0}, {19, 0}, {19, 1},
- {20, 1}, {21, 1}, {22, 0}, {22, 0}, {22, 0}, {22, 0}, {22, 0},
- {22, 0}, {22, 0}, {22, 0}, {22, 0}, {22, 0}, {22, 7}, {29, 0},
- {29, 0}, {29, 0}, {29, 0}, {29, 0}, {29, 0}, {29, 1}, {30, 1},
- {31, 0}, {31, 0}, {31, 0}, {31, 0}, {31, 0}, {31, 0}, {31, 0},
- {31, 0}, {31, 0}, {31, 4}, {35, 2}, {37, 0}, {37, 0}, {37, 0},
- {37, 0}, {37, 0}, {37, 0}, {37, 0}, {37, 0}, {37, 0}, {37, 0},
- {37, 0}, {37, 0}, {37, 0}, {37, 0}, {37, 4}, {41, 0}, {41, 0},
- {41, 0}, {41, 0}, {41, 0}, {41, 0}, {41, 2}, {43, 0}, {43, 0},
- {43, 0}, {43, 0}, {43, 0}, {43, 0}, {43, 0}, {43, 0}, {43, 0},
- {43, 13}, {56, 0}, {56, 0}, {56, 1}, {57, 0}, {57, 0}, {57, 0},
- {57, 0}, {57, 0}, {57, 0}, {57, 0}, {57, 0}, {57, 0}, {57, 0},
- {57, 0}, {57, 1}, {58, 0}, {58, 1}, {59, 0}, {59, 0}, {59, 0},
- {59, 1}, {60, 0}, {60, 0}, {60, 0}, {60, 0}, {60, 0}, {60, 0},
- {60, 0}, {60, 0}, {60, 1}, {61, 0}, {61, 0}, {61, 0}, {61, 1},
- {62, 0}, {62, 2}, {64, 0}, {64, 0}, {64, 0}, {64, 0}, {64, 0},
- {64, 0}, {64, 0}, {64, 0}, {64, 0}, {64, 0}, {64, 0}, {64, 0},
- {64, 1}, {65, 1}, {66, 1}, {67, 0}, {67, 1}, {68, 0}, {68, 0},
- {68, 0}, {68, 0}, {68, 0}, {68, 0}, {68, 0}, {68, 0}, {68, 6},
- {74, 0}, {74, 1}, {75, 0}, {75, 0}, {75, 0}, {75, 0}, {75, 0},
- {75, 0}, {75, 0}, {75, 0}, {75, 0}, {75, 1}, {76, 0}, {76, 0},
- {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0},
- {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0},
- {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0},
- {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0}, {76, 0},
- {76, 0}, {76, 0}, {76, 0}, {76, 2}, {78, 0}, {78, 0}, {78, 0},
- {78, 1}, {79, 0}, {79, 0}, {79, 1}, {80, 0}, {80, 0}, {80, 1},
- {81, 0}, {81, 0}, {81, 1}, {82, 0}, {82, 0}, {82, 0}, {82, 0},
- {82, 0}, {82, 0}, {82, 0}, {82, 0}, {82, 0}, {82, 0}, {82, 1},
- {83, 0}, {83, 0}, {83, 0}, {83, 0}, {83, 0}, {83, 0}, {83, 11},
- {94, 0}, {94, 0}, {94, 0}, {94, 0}, {94, 0}, {94, 11}, {105, 106},
- {211, 0}, {211, 0}, {211, 1}, {212, 0}, {212, 3}, {215, 1}, {216, 0},
- {216, 0}, {216, 0}, {216, 0}, {216, 0}, {216, 0}, {216, 0}, {216, 0},
- {216, 0}, {216, 0}, {216, 0}, {216, 0}, {216, 0}, {216, 12}, {228, 0},
- {228, 0}, {228, 0}, {228, 0}, {228, 0}, {228, 0}, {228, 0}, {228, 0},
- {228, 0}, {228, 2}, {230, 0}, {230, 0}, {230, 0}, {230, 0}, {230, 0},
- {230, 0}, {230, 0}, {230, 0}, {230, 10},
-};
-const uint16_t g_XFAElementChildrenData[] = {
- XFA_ELEMENT_Extras,
- XFA_ELEMENT_SubformSet,
- XFA_ELEMENT_BreakBefore,
- XFA_ELEMENT_Subform,
- XFA_ELEMENT_BreakAfter,
- XFA_ELEMENT_AlwaysEmbed,
- XFA_ELEMENT_DefaultTypeface,
- XFA_ELEMENT_NeverEmbed,
- XFA_ELEMENT_Source,
- XFA_ELEMENT_Equate,
- XFA_ELEMENT_EquateRange,
- XFA_ELEMENT_Ps,
- XFA_ELEMENT_Pcl,
- XFA_ELEMENT_Pdf,
- XFA_ELEMENT_Zpl,
- XFA_ELEMENT_LabelPrinter,
- XFA_ELEMENT_WebClient,
- XFA_ELEMENT_SubmitUrl,
- XFA_ELEMENT_Driver,
- XFA_ELEMENT_Typeface,
- XFA_ELEMENT_SubjectDN,
- XFA_ELEMENT_Certificate,
- XFA_ELEMENT_SubformSet,
- XFA_ELEMENT_Area,
- XFA_ELEMENT_Field,
- XFA_ELEMENT_ExclGroup,
- XFA_ELEMENT_Subform,
- XFA_ELEMENT_Draw,
- XFA_ELEMENT_ExObject,
- XFA_ELEMENT_EncryptionMethod,
- XFA_ELEMENT_Ref,
- XFA_ELEMENT_Event,
- XFA_ELEMENT_SetProperty,
- XFA_ELEMENT_BindItems,
- XFA_ELEMENT_Connect,
- XFA_ELEMENT_Pdf,
- XFA_ELEMENT_Destination,
- XFA_ELEMENT_Event,
- XFA_ELEMENT_SetProperty,
- XFA_ELEMENT_Field,
- XFA_ELEMENT_Connect,
- XFA_ELEMENT_Agent,
- XFA_ELEMENT_PsMap,
- XFA_ELEMENT_SubformSet,
- XFA_ELEMENT_BreakBefore,
- XFA_ELEMENT_Event,
- XFA_ELEMENT_Area,
- XFA_ELEMENT_SetProperty,
- XFA_ELEMENT_Field,
- XFA_ELEMENT_ExclGroup,
- XFA_ELEMENT_Subform,
- XFA_ELEMENT_Draw,
- XFA_ELEMENT_ExObject,
- XFA_ELEMENT_Proto,
- XFA_ELEMENT_Connect,
- XFA_ELEMENT_BreakAfter,
- XFA_ELEMENT_Locale,
- XFA_ELEMENT_Text,
- XFA_ELEMENT_Font,
- XFA_ELEMENT_Traverse,
- XFA_ELEMENT_Map,
- XFA_ELEMENT_DigestMethod,
- XFA_ELEMENT_PageSet,
- XFA_ELEMENT_PageArea,
- XFA_ELEMENT_Encoding,
- XFA_ELEMENT_Subform,
- XFA_ELEMENT_SubmitUrl,
- XFA_ELEMENT_Certificate,
- XFA_ELEMENT_Area,
- XFA_ELEMENT_Field,
- XFA_ELEMENT_ContentArea,
- XFA_ELEMENT_ExclGroup,
- XFA_ELEMENT_Subform,
- XFA_ELEMENT_Draw,
- XFA_ELEMENT_Oid,
- XFA_ELEMENT_Ref,
- XFA_ELEMENT_ExcludeNS,
- XFA_ELEMENT_Transform,
- XFA_ELEMENT_SetProperty,
- XFA_ELEMENT_Message,
- XFA_ELEMENT_Log,
- XFA_ELEMENT_Reason,
- XFA_ELEMENT_Area,
- XFA_ELEMENT_Text,
- XFA_ELEMENT_Time,
- XFA_ELEMENT_DateTime,
- XFA_ELEMENT_Image,
- XFA_ELEMENT_Decimal,
- XFA_ELEMENT_Boolean,
- XFA_ELEMENT_Integer,
- XFA_ELEMENT_ExData,
- XFA_ELEMENT_Date,
- XFA_ELEMENT_Float,
- XFA_ELEMENT_ExObject,
- XFA_ELEMENT_Text,
- XFA_ELEMENT_Time,
- XFA_ELEMENT_DateTime,
- XFA_ELEMENT_Image,
- XFA_ELEMENT_Decimal,
- XFA_ELEMENT_Boolean,
- XFA_ELEMENT_Integer,
- XFA_ELEMENT_ExData,
- XFA_ELEMENT_Date,
- XFA_ELEMENT_Float,
- XFA_ELEMENT_Extras,
- XFA_ELEMENT_Ui,
- XFA_ELEMENT_SubformSet,
- XFA_ELEMENT_Break,
- XFA_ELEMENT_CheckButton,
- XFA_ELEMENT_Arc,
- XFA_ELEMENT_Mdp,
- XFA_ELEMENT_BreakBefore,
- XFA_ELEMENT_Oid,
- XFA_ELEMENT_Ref,
- XFA_ELEMENT_Margin,
- XFA_ELEMENT_KeyUsage,
- XFA_ELEMENT_ChoiceList,
- XFA_ELEMENT_Para,
- XFA_ELEMENT_Filter,
- XFA_ELEMENT_Encoding,
- XFA_ELEMENT_Event,
- XFA_ELEMENT_DefaultUi,
- XFA_ELEMENT_Barcode,
- XFA_ELEMENT_SubjectDNs,
- XFA_ELEMENT_Issuers,
- XFA_ELEMENT_Button,
- XFA_ELEMENT_Format,
- XFA_ELEMENT_Border,
- XFA_ELEMENT_Area,
- XFA_ELEMENT_Hyphenation,
- XFA_ELEMENT_Text,
- XFA_ELEMENT_Time,
- XFA_ELEMENT_Certificates,
- XFA_ELEMENT_SetProperty,
- XFA_ELEMENT_DateTime,
- XFA_ELEMENT_Comb,
- XFA_ELEMENT_Pattern,
- XFA_ELEMENT_Field,
- XFA_ELEMENT_ContentArea,
- XFA_ELEMENT_Solid,
- XFA_ELEMENT_Edge,
- XFA_ELEMENT_Stipple,
- XFA_ELEMENT_ExclGroup,
- XFA_ELEMENT_ToolTip,
- XFA_ELEMENT_Reason,
- XFA_ELEMENT_Execute,
- XFA_ELEMENT_DateTimeEdit,
- XFA_ELEMENT_Image,
- XFA_ELEMENT_TimeStamp,
- XFA_ELEMENT_Decimal,
- XFA_ELEMENT_Subform,
- XFA_ELEMENT_Handler,
- XFA_ELEMENT_Boolean,
- XFA_ELEMENT_Message,
- XFA_ELEMENT_Assist,
- XFA_ELEMENT_Picture,
- XFA_ELEMENT_Traversal,
- XFA_ELEMENT_Corner,
- XFA_ELEMENT_Color,
- XFA_ELEMENT_Keep,
- XFA_ELEMENT_ImageEdit,
- XFA_ELEMENT_Validate,
- XFA_ELEMENT_DigestMethods,
- XFA_ELEMENT_PageSet,
- XFA_ELEMENT_Integer,
- XFA_ELEMENT_Traverse,
- XFA_ELEMENT_Encodings,
- XFA_ELEMENT_Signing,
- XFA_ELEMENT_Script,
- XFA_ELEMENT_PasswordEdit,
- XFA_ELEMENT_NumericEdit,
- XFA_ELEMENT_PageArea,
- XFA_ELEMENT_Oids,
- XFA_ELEMENT_Signature,
- XFA_ELEMENT_Caption,
- XFA_ELEMENT_ExData,
- XFA_ELEMENT_Manifest,
- XFA_ELEMENT_Overflow,
- XFA_ELEMENT_Linear,
- XFA_ELEMENT_DigestMethod,
- XFA_ELEMENT_Medium,
- XFA_ELEMENT_TextEdit,
- XFA_ELEMENT_SignData,
- XFA_ELEMENT_Rectangle,
- XFA_ELEMENT_Date,
- XFA_ELEMENT_Desc,
- XFA_ELEMENT_Encrypt,
- XFA_ELEMENT_Draw,
- XFA_ELEMENT_Speak,
- XFA_ELEMENT_Reasons,
- XFA_ELEMENT_AppearanceFilter,
- XFA_ELEMENT_Fill,
- XFA_ELEMENT_Font,
- XFA_ELEMENT_Certificate,
- XFA_ELEMENT_Float,
- XFA_ELEMENT_Value,
- XFA_ELEMENT_Bookend,
- XFA_ELEMENT_ExObject,
- XFA_ELEMENT_BindItems,
- XFA_ELEMENT_Calculate,
- XFA_ELEMENT_Extras,
- XFA_ELEMENT_Connect,
- XFA_ELEMENT_Submit,
- XFA_ELEMENT_SubjectDN,
- XFA_ELEMENT_Radial,
- XFA_ELEMENT_Variables,
- XFA_ELEMENT_LockDocument,
- XFA_ELEMENT_BreakAfter,
- XFA_ELEMENT_Line,
- XFA_ELEMENT_Occur,
- XFA_ELEMENT_Items,
- XFA_ELEMENT_Extras,
- XFA_ELEMENT_WsdlConnection,
- XFA_ELEMENT_XsdConnection,
- XFA_ELEMENT_XmlConnection,
- XFA_ELEMENT_SignData,
- XFA_ELEMENT_Text,
- XFA_ELEMENT_Time,
- XFA_ELEMENT_DateTime,
- XFA_ELEMENT_Image,
- XFA_ELEMENT_Decimal,
- XFA_ELEMENT_Boolean,
- XFA_ELEMENT_Integer,
- XFA_ELEMENT_Script,
- XFA_ELEMENT_ExData,
- XFA_ELEMENT_Manifest,
- XFA_ELEMENT_Date,
- XFA_ELEMENT_Float,
- XFA_ELEMENT_Command,
- XFA_ELEMENT_Bind,
- XFA_ELEMENT_Text,
- XFA_ELEMENT_Time,
- XFA_ELEMENT_DateTime,
- XFA_ELEMENT_Image,
- XFA_ELEMENT_Decimal,
- XFA_ELEMENT_Boolean,
- XFA_ELEMENT_Integer,
- XFA_ELEMENT_ExData,
- XFA_ELEMENT_Date,
- XFA_ELEMENT_Float,
-};
+
const XFA_ELEMENTHIERARCHY g_XFAElementAttributeIndex[] = {
{0, 3}, {3, 2}, {5, 3}, {8, 10}, {18, 2}, {20, 6}, {26, 2},
{28, 1}, {29, 13}, {42, 2}, {44, 1}, {45, 2}, {47, 2}, {49, 7},
@@ -2529,6 +2247,7 @@ const XFA_ELEMENTHIERARCHY g_XFAElementAttributeIndex[] = {
{1096, 0}, {1096, 4}, {1100, 6}, {1106, 2}, {1108, 1}, {1109, 2}, {1111, 2},
{1113, 2}, {1115, 1}, {1116, 2}, {1118, 7},
};
+
const uint8_t g_XFAElementAttributeData[] = {
XFA_ATTRIBUTE_Name,
XFA_ATTRIBUTE_Desc,
@@ -3656,6 +3375,7 @@ const uint8_t g_XFAElementAttributeData[] = {
XFA_ATTRIBUTE_Save,
XFA_ATTRIBUTE_Usehref,
};
+
const XFA_PACKETINFO g_XFAPacketData[] = {
{0x0, NULL, XFA_XDPPACKET_USER, NULL,
XFA_XDPPACKET_FLAGS_NOMATCH | XFA_XDPPACKET_FLAGS_SUPPORTMANY},
@@ -3700,6 +3420,7 @@ const XFA_PACKETINFO g_XFAPacketData[] = {
};
const int32_t g_iXFAPacketCount =
sizeof(g_XFAPacketData) / sizeof(XFA_PACKETINFO);
+
const XFA_SCRIPTHIERARCHY g_XFAScriptIndex[] = {
{0, 0, 0, 2, 316}, {0, 0, 2, 2, 316}, {0, 0, 4, 2, 316},
{0, 0, 6, 8, 316}, {0, 0, 14, 4, 316}, {0, 0, 18, 5, 317},
@@ -3809,6 +3530,7 @@ const XFA_SCRIPTHIERARCHY g_XFAScriptIndex[] = {
{120, 2, 1060, 8, 312}, {122, 11, 1068, 6, 315}, {133, 2, 1074, 0, 316},
{135, 0, 1074, 0, 316}, {135, 3, 1074, 2, 316}, {138, 0, 1076, 2, 316},
};
+
const XFA_METHODINFO g_SomMethodData[] = {
{0x3c752495, L"verify", (XFA_METHOD_CALLBACK)&CScript_SignaturePseudoModel::
Script_SignaturePseudoModel_Verify},
@@ -4102,6 +3824,7 @@ const XFA_METHODINFO g_SomMethodData[] = {
};
const int32_t g_iSomMethodCount =
sizeof(g_SomMethodData) / sizeof(XFA_METHODINFO);
+
const XFA_SCRIPTATTRIBUTEINFO g_SomAttributeData[] = {
{0xbe52dfbf, L"desc",
(XFA_ATTRIBUTE_CALLBACK)&CXFA_Node::Script_Attribute_String,
diff --git a/xfa/fxfa/parser/xfa_basic_imp.cpp b/xfa/fxfa/parser/xfa_basic_imp.cpp
index 8367462b60..2b8074fe04 100644
--- a/xfa/fxfa/parser/xfa_basic_imp.cpp
+++ b/xfa/fxfa/parser/xfa_basic_imp.cpp
@@ -197,14 +197,7 @@ const XFA_ELEMENTINFO* XFA_GetElementByName(const CFX_WideStringC& wsName) {
const XFA_ELEMENTINFO* XFA_GetElementByID(XFA_ELEMENT eName) {
return (eName < g_iXFAElementCount) ? (g_XFAElementData + eName) : NULL;
}
-const uint16_t* XFA_GetElementChildren(XFA_ELEMENT eElement, int32_t& iCount) {
- if (eElement >= g_iXFAElementCount) {
- return NULL;
- }
- const XFA_ELEMENTHIERARCHY* pElement = g_XFAElementChildrenIndex + eElement;
- iCount = pElement->wCount;
- return g_XFAElementChildrenData + pElement->wStart;
-}
+
const uint8_t* XFA_GetElementAttributes(XFA_ELEMENT eElement, int32_t& iCount) {
if (eElement >= g_iXFAElementCount) {
return NULL;