13 #ifndef __XML_XSLT_INTERNALS_H__ 14 #define __XML_XSLT_INTERNALS_H__ 38 #define XSLT_IS_TEXT_NODE(n) ((n != NULL) && \ 39 (((n)->type == XML_TEXT_NODE) || \ 40 ((n)->type == XML_CDATA_SECTION_NODE))) 48 #define XSLT_MARK_RES_TREE_FRAG(n) \ 49 (n)->name = (char *) xmlStrdup(BAD_CAST " fake node libxslt"); 56 #define XSLT_IS_RES_TREE_FRAG(n) \ 57 ((n != NULL) && ((n)->type == XML_DOCUMENT_NODE) && \ 58 ((n)->name != NULL) && ((n)->name[0] == ' ')) 66 #define XSLT_REFACTORED_KEYCOMP 89 #define XSLT_REFACTORED_VARS 91 #ifdef XSLT_REFACTORED 93 extern const xmlChar *xsltXSLTAttrMarker;
108 #ifdef XSLT_REFACTORED_XSLT_NSCOMP 110 extern const xmlChar *xsltConstNamespaceNameXSLT;
117 #define IS_XSLT_ELEM_FAST(n) \ 118 (((n) != NULL) && ((n)->ns != NULL) && \ 119 ((n)->ns->href == xsltConstNamespaceNameXSLT)) 126 #define IS_XSLT_ATTR_FAST(a) \ 127 (((a) != NULL) && ((a)->ns != NULL) && \ 128 ((a)->ns->href == xsltConstNamespaceNameXSLT)) 135 #define XSLT_HAS_INTERNAL_NSMAP(s) \ 136 (((s) != NULL) && ((s)->principal) && \ 137 ((s)->principal->principalData) && \ 138 ((s)->principal->principalData->nsMap)) 145 #define XSLT_GET_INTERNAL_NSMAP(s) ((s)->principal->principalData->nsMap) 154 #define IS_XSLT_ELEM_FAST(n) \ 155 (((n) != NULL) && ((n)->ns != NULL) && \ 156 (xmlStrEqual((n)->ns->href, XSLT_NAMESPACE))) 163 #define IS_XSLT_ATTR_FAST(a) \ 164 (((a) != NULL) && ((a)->ns != NULL) && \ 165 (xmlStrEqual((a)->ns->href, XSLT_NAMESPACE))) 186 typedef struct _xsltPointerList xsltPointerList;
187 typedef xsltPointerList *xsltPointerListPtr;
188 struct _xsltPointerList {
209 #define XSLT_MAX_SORT 15 216 #define XSLT_PAT_NO_PRIORITY -12345789 241 #define XSLT_RUNTIME_EXTRA_LST(ctxt, nr) (ctxt)->extras[(nr)].info 249 #define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr) (ctxt)->extras[(nr)].deallocate 257 #define XSLT_RUNTIME_EXTRA(ctxt, nr, typ) (ctxt)->extras[(nr)].val.typ 443 #ifdef XSLT_REFACTORED 450 XSLT_FUNC_LITERAL_RESULT_ELEMENT,
451 XSLT_FUNC_UNKOWN_FORWARDS_COMPAT
495 #ifdef XSLT_REFACTORED 501 xsltPointerListCreate (
int initialSize);
503 xsltPointerListFree (xsltPointerListPtr
list);
505 xsltPointerListClear (xsltPointerListPtr
list);
507 xsltPointerListAddSize (xsltPointerListPtr
list,
517 typedef struct _xsltNsListContainer xsltNsListContainer;
518 typedef xsltNsListContainer *xsltNsListContainerPtr;
519 struct _xsltNsListContainer {
534 #define XSLT_ITEM_COMPATIBILITY_FIELDS \ 535 xsltElemPreCompPtr next;\ 537 xsltTransformFunction func;\ 546 #define XSLT_ITEM_NAVIGATION_FIELDS 558 #define XSLT_ITEM_NSINSCOPE_FIELDS xsltNsListContainerPtr inScopeNs; 565 #define XSLT_ITEM_COMMON_FIELDS \ 566 XSLT_ITEM_COMPATIBILITY_FIELDS \ 567 XSLT_ITEM_NAVIGATION_FIELDS \ 568 XSLT_ITEM_NSINSCOPE_FIELDS 591 xsltNsListContainerPtr inScopeNs;
602 typedef struct _xsltStyleBasicEmptyItem xsltStyleBasicEmptyItem;
603 typedef xsltStyleBasicEmptyItem *xsltStyleBasicEmptyItemPtr;
605 struct _xsltStyleBasicEmptyItem {
606 XSLT_ITEM_COMMON_FIELDS
615 typedef struct _xsltStyleBasicExpressionItem xsltStyleBasicExpressionItem;
616 typedef xsltStyleBasicExpressionItem *xsltStyleBasicExpressionItemPtr;
618 struct _xsltStyleBasicExpressionItem {
619 XSLT_ITEM_COMMON_FIELDS
622 xmlXPathCompExprPtr comp;
642 typedef struct _xsltStyleItemElement xsltStyleItemElement;
643 typedef xsltStyleItemElement *xsltStyleItemElementPtr;
645 struct _xsltStyleItemElement {
646 XSLT_ITEM_COMMON_FIELDS
667 typedef struct _xsltStyleItemAttribute xsltStyleItemAttribute;
668 typedef xsltStyleItemAttribute *xsltStyleItemAttributePtr;
670 struct _xsltStyleItemAttribute {
671 XSLT_ITEM_COMMON_FIELDS
688 typedef struct _xsltStyleItemText xsltStyleItemText;
689 typedef xsltStyleItemText *xsltStyleItemTextPtr;
691 struct _xsltStyleItemText {
692 XSLT_ITEM_COMMON_FIELDS
704 typedef xsltStyleBasicEmptyItem xsltStyleItemComment;
705 typedef xsltStyleItemComment *xsltStyleItemCommentPtr;
716 typedef struct _xsltStyleItemPI xsltStyleItemPI;
717 typedef xsltStyleItemPI *xsltStyleItemPIPtr;
719 struct _xsltStyleItemPI {
720 XSLT_ITEM_COMMON_FIELDS
731 typedef xsltStyleBasicEmptyItem xsltStyleItemApplyImports;
732 typedef xsltStyleItemApplyImports *xsltStyleItemApplyImportsPtr;
744 typedef struct _xsltStyleItemApplyTemplates xsltStyleItemApplyTemplates;
745 typedef xsltStyleItemApplyTemplates *xsltStyleItemApplyTemplatesPtr;
747 struct _xsltStyleItemApplyTemplates {
748 XSLT_ITEM_COMMON_FIELDS
753 xmlXPathCompExprPtr comp;
766 typedef struct _xsltStyleItemCallTemplate xsltStyleItemCallTemplate;
767 typedef xsltStyleItemCallTemplate *xsltStyleItemCallTemplatePtr;
769 struct _xsltStyleItemCallTemplate {
770 XSLT_ITEM_COMMON_FIELDS
789 typedef struct _xsltStyleItemCopy xsltStyleItemCopy;
790 typedef xsltStyleItemCopy *xsltStyleItemCopyPtr;
792 struct _xsltStyleItemCopy {
793 XSLT_ITEM_COMMON_FIELDS
807 typedef struct _xsltStyleItemIf xsltStyleItemIf;
808 typedef xsltStyleItemIf *xsltStyleItemIfPtr;
810 struct _xsltStyleItemIf {
811 XSLT_ITEM_COMMON_FIELDS
814 xmlXPathCompExprPtr comp;
825 typedef xsltStyleBasicExpressionItem xsltStyleItemCopyOf;
826 typedef xsltStyleItemCopyOf *xsltStyleItemCopyOfPtr;
836 typedef struct _xsltStyleItemValueOf xsltStyleItemValueOf;
837 typedef xsltStyleItemValueOf *xsltStyleItemValueOfPtr;
839 struct _xsltStyleItemValueOf {
840 XSLT_ITEM_COMMON_FIELDS
843 xmlXPathCompExprPtr comp;
862 typedef struct _xsltStyleItemNumber xsltStyleItemNumber;
863 typedef xsltStyleItemNumber *xsltStyleItemNumberPtr;
865 struct _xsltStyleItemNumber {
866 XSLT_ITEM_COMMON_FIELDS
878 typedef xsltStyleBasicEmptyItem xsltStyleItemChoose;
879 typedef xsltStyleItemChoose *xsltStyleItemChoosePtr;
889 typedef xsltStyleBasicEmptyItem xsltStyleItemFallback;
890 typedef xsltStyleItemFallback *xsltStyleItemFallbackPtr;
901 typedef xsltStyleBasicExpressionItem xsltStyleItemForEach;
902 typedef xsltStyleItemForEach *xsltStyleItemForEachPtr;
913 typedef struct _xsltStyleItemMessage xsltStyleItemMessage;
914 typedef xsltStyleItemMessage *xsltStyleItemMessagePtr;
916 struct _xsltStyleItemMessage {
917 XSLT_ITEM_COMMON_FIELDS
926 typedef struct _xsltStyleItemDocument xsltStyleItemDocument;
927 typedef xsltStyleItemDocument *xsltStyleItemDocumentPtr;
929 struct _xsltStyleItemDocument {
930 XSLT_ITEM_COMMON_FIELDS
956 typedef struct _xsltStyleBasicItemVariable xsltStyleBasicItemVariable;
957 typedef xsltStyleBasicItemVariable *xsltStyleBasicItemVariablePtr;
959 struct _xsltStyleBasicItemVariable {
960 XSLT_ITEM_COMMON_FIELDS
963 xmlXPathCompExprPtr comp;
981 typedef xsltStyleBasicItemVariable xsltStyleItemVariable;
982 typedef xsltStyleItemVariable *xsltStyleItemVariablePtr;
994 typedef struct _xsltStyleItemParam xsltStyleItemParam;
995 typedef xsltStyleItemParam *xsltStyleItemParamPtr;
997 struct _xsltStyleItemParam {
998 XSLT_ITEM_COMMON_FIELDS
1001 xmlXPathCompExprPtr comp;
1018 typedef xsltStyleBasicItemVariable xsltStyleItemWithParam;
1019 typedef xsltStyleItemWithParam *xsltStyleItemWithParamPtr;
1033 typedef struct _xsltStyleItemSort xsltStyleItemSort;
1034 typedef xsltStyleItemSort *xsltStyleItemSortPtr;
1036 struct _xsltStyleItemSort {
1037 XSLT_ITEM_COMMON_FIELDS
1056 xmlXPathCompExprPtr comp;
1069 typedef struct _xsltStyleItemWhen xsltStyleItemWhen;
1070 typedef xsltStyleItemWhen *xsltStyleItemWhenPtr;
1072 struct _xsltStyleItemWhen {
1073 XSLT_ITEM_COMMON_FIELDS
1076 xmlXPathCompExprPtr comp;
1087 typedef struct _xsltStyleItemOtherwise xsltStyleItemOtherwise;
1088 typedef xsltStyleItemOtherwise *xsltStyleItemOtherwisePtr;
1090 struct _xsltStyleItemOtherwise {
1091 XSLT_ITEM_COMMON_FIELDS
1094 typedef struct _xsltStyleItemInclude xsltStyleItemInclude;
1095 typedef xsltStyleItemInclude *xsltStyleItemIncludePtr;
1097 struct _xsltStyleItemInclude {
1098 XSLT_ITEM_COMMON_FIELDS
1108 typedef struct _xsltStyleItemUknown xsltStyleItemUknown;
1109 typedef xsltStyleItemUknown *xsltStyleItemUknownPtr;
1110 struct _xsltStyleItemUknown {
1111 XSLT_ITEM_COMMON_FIELDS
1141 typedef struct _xsltStyleItemExtElement xsltStyleItemExtElement;
1142 typedef xsltStyleItemExtElement *xsltStyleItemExtElementPtr;
1143 struct _xsltStyleItemExtElement {
1144 XSLT_ITEM_COMMON_FIELDS
1154 typedef struct _xsltEffectiveNs xsltEffectiveNs;
1155 typedef xsltEffectiveNs *xsltEffectiveNsPtr;
1156 struct _xsltEffectiveNs {
1157 xsltEffectiveNsPtr nextInStore;
1158 xsltEffectiveNsPtr
next;
1175 typedef struct _xsltStyleItemLRElementInfo xsltStyleItemLRElementInfo;
1176 typedef xsltStyleItemLRElementInfo *xsltStyleItemLRElementInfoPtr;
1177 struct _xsltStyleItemLRElementInfo {
1178 XSLT_ITEM_COMMON_FIELDS
1188 xsltEffectiveNsPtr effectiveNs;
1192 #ifdef XSLT_REFACTORED 1194 typedef struct _xsltNsAlias xsltNsAlias;
1195 typedef xsltNsAlias *xsltNsAliasPtr;
1196 struct _xsltNsAlias {
1197 xsltNsAliasPtr
next;
1204 #ifdef XSLT_REFACTORED_XSLT_NSCOMP 1206 typedef struct _xsltNsMap xsltNsMap;
1207 typedef xsltNsMap *xsltNsMapPtr;
1224 typedef struct _xsltPrincipalStylesheetData xsltPrincipalStylesheetData;
1225 typedef xsltPrincipalStylesheetData *xsltPrincipalStylesheetDataPtr;
1227 typedef struct _xsltNsList xsltNsList;
1228 typedef xsltNsList *xsltNsListPtr;
1229 struct _xsltNsList {
1239 typedef struct _xsltVarInfo xsltVarInfo;
1240 typedef xsltVarInfo *xsltVarInfoPtr;
1241 struct _xsltVarInfo {
1242 xsltVarInfoPtr
next;
1243 xsltVarInfoPtr prev;
1254 typedef struct _xsltCompilerNodeInfo xsltCompilerNodeInfo;
1255 typedef xsltCompilerNodeInfo *xsltCompilerNodeInfoPtr;
1256 struct _xsltCompilerNodeInfo {
1257 xsltCompilerNodeInfoPtr
next;
1258 xsltCompilerNodeInfoPtr prev;
1267 xsltNsListContainerPtr inScopeNs;
1269 xsltPointerListPtr exclResultNs;
1271 xsltPointerListPtr extElemNs;
1274 xsltStyleItemLRElementInfoPtr litResElemInfo;
1283 int preserveWhitespace;
1284 int stripWhitespace;
1288 int extContentHandled;
1298 #define XSLT_CCTXT(style) ((xsltCompilerCtxtPtr) style->compCtxt) 1301 XSLT_ERROR_SEVERITY_ERROR = 0,
1302 XSLT_ERROR_SEVERITY_WARNING
1303 } xsltErrorSeverityType;
1305 typedef struct _xsltCompilerCtxt xsltCompilerCtxt;
1306 typedef xsltCompilerCtxt *xsltCompilerCtxtPtr;
1307 struct _xsltCompilerCtxt {
1311 xsltErrorSeverityType errSeverity;
1322 xsltCompilerNodeInfoPtr
inode;
1323 xsltCompilerNodeInfoPtr inodeList;
1324 xsltCompilerNodeInfoPtr inodeLast;
1325 xsltPointerListPtr tmpList;
1330 int hasForwardsCompat;
1340 xsltPrincipalStylesheetDataPtr psData;
1341 xsltStyleItemUknownPtr unknownItem;
1343 xsltNsAliasPtr nsAliases;
1344 xsltVarInfoPtr ivars;
1345 xsltVarInfoPtr ivar;
1439 #ifdef XSLT_REFACTORED 1441 struct _xsltPrincipalStylesheetData {
1451 xsltPointerListPtr inScopeNamespaces;
1455 xsltPointerListPtr exclResultNamespaces;
1459 xsltPointerListPtr extElemNamespaces;
1460 xsltEffectiveNsPtr effectiveNs;
1461 #ifdef XSLT_REFACTORED_XSLT_NSCOMP 1620 #ifdef XSLT_REFACTORED 1624 xsltCompilerCtxtPtr compCtxt;
1626 xsltPrincipalStylesheetDataPtr principalData;
1645 #ifdef XSLT_DEBUG_PROFILE_CACHE 1793 #define CHECK_STOPPED if (ctxt->state == XSLT_STATE_STOPPED) return; 1801 #define CHECK_STOPPEDE if (ctxt->state == XSLT_STATE_STOPPED) goto error; 1809 #define CHECK_STOPPED0 if (ctxt->state == XSLT_STATE_STOPPED) return(0); 1817 #ifndef XML_CAST_FPTR 1831 #define XML_CAST_FPTR(fptr) fptr 1906 xmlXPathObjectPtr
obj);
1913 xmlXPathObjectPtr
obj,
1946 #ifdef XSLT_REFACTORED 1948 xsltParseSequenceConstructor(
1949 xsltCompilerCtxtPtr cctxt,
1952 xsltParseAnyXSLTElem (xsltCompilerCtxtPtr cctxt,
1954 #ifdef XSLT_REFACTORED_XSLT_NSCOMP 1956 xsltRestoreDocumentNamespaces(
XSLTPUBFUN void XSLTCALL xsltFreeStackElemList(xsltStackElemPtr elem)
struct _xsltDocument * next
xsltTransformCachePtr cache
GLuint GLdouble GLdouble GLint GLint order
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
xsltRuntimeExtraPtr extras
xsltTransformCache * xsltTransformCachePtr
xmlDocPtr initialContextDoc
XSLTPUBFUN int XSLTCALL xsltAllocateExtraCtxt(xsltTransformContextPtr ctxt)
xmlNodePtr initialContextNode
xsltKeyTable * xsltKeyTablePtr
void(XMLCALL * xmlFreeFunc)(void *mem)
xsltDecimalFormat * xsltDecimalFormatPtr
xsltStackElemPtr variables
xmlXPathCompExprPtr usecomp
XSLTPUBFUN int XSLTCALL xsltParseStylesheetUser(xsltStylesheetPtr style, xmlDocPtr doc)
void(* xsltTransformFunction)(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, xsltElemPreCompPtr comp)
xsltKeyDef * xsltKeyDefPtr
XSLTPUBFUN void XSLTCALL xsltUninit(void)
XSLTPUBFUN int XSLTCALL xsltAllocateExtra(xsltStylesheetPtr style)
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetImportedDoc(xmlDocPtr doc, xsltStylesheetPtr style)
xsltTemplatePtr * templCalledTab
struct _xsltStylesheet * imports
xmlHashTablePtr namedTemplates
XSLTPUBFUN int XSLTCALL xsltRegisterLocalRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
xsltTransformContextPtr context
struct _xsltStackElem * next
unsigned long * traceCode
XSLTPUBFUN int XSLTCALL xsltExtensionInstructionResultRegister(xsltTransformContextPtr ctxt, xmlXPathObjectPtr obj)
xsltDocument * xsltDocumentPtr
XSLTPUBFUN int XSLTCALL xsltRegisterPersistRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
GLint GLint GLsizei GLsizei GLsizei GLint GLenum format
xsltTemplate * xsltTemplatePtr
struct _xsltDocument * includes
struct _xsltTemplate * next
struct _xsltStylesheet * parent
XSLTPUBFUN void XSLTCALL xsltFreeStylesheet(xsltStylesheetPtr style)
XSLTPUBFUN int XSLTCALL xsltIsBlank(xmlChar *str)
XSLTPUBFUN int XSLTCALL xsltInitCtxtKey(xsltTransformContextPtr ctxt, xsltDocumentPtr doc, xsltKeyDefPtr keyd)
INT WSAAPI select(IN INT s, IN OUT LPFD_SET readfds, IN OUT LPFD_SET writefds, IN OUT LPFD_SET exceptfds, IN CONST struct timeval *timeout)
XSLTPUBFUN void XSLTCALL xsltNumberFormat(xsltTransformContextPtr ctxt, xsltNumberDataPtr data, xmlNodePtr node)
static size_t double number
struct _xsltKeyTable * next
xsltTransformContext * xsltTransformContextPtr
xmlHashTablePtr extFunctions
xsltTemplatePtr * templTab
xsltTemplatePtr templates
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetProcess(xsltStylesheetPtr ret, xmlDocPtr doc)
xmlXPathContextPtr xpathCtxt
static const WCHAR lang[]
XSLTPUBFUN int XSLTCALL xsltInitAllDocKeys(xsltTransformContextPtr ctxt)
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetFile(const xmlChar *filename)
XSLTPUBFUN int XSLTCALL xsltFlagRVTs(xsltTransformContextPtr ctxt, xmlXPathObjectPtr obj, void *val)
void MSVCRT() terminate()
const xmlChar * defaultAlias
static SIZE_T const char const D3D_SHADER_MACRO ID3DInclude * include
XSLTPUBFUN xmlDocPtr XSLTCALL xsltCreateRVT(xsltTransformContextPtr ctxt)
xmlHashTablePtr nsAliases
XSLTPUBFUN void XSLTCALL xsltCompileAttr(xsltStylesheetPtr style, xmlAttrPtr attr)
xsltTransformFunction func
xsltTemplatePtr currentTemplateRule
xsltTransformFunction func
XSLTPUBFUN void XSLTCALL xsltFreeAVTList(void *avt)
void(* xsltSortFunc)(xsltTransformContextPtr ctxt, xmlNodePtr *sorts, int nbsorts)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
struct _xsltStylesheet * next
xsltDecimalFormatPtr decimalFormat
xmlHashTablePtr cdataSection
xsltElemPreCompPtr preComps
XSLTPUBFUN int XSLTCALL xsltExtensionInstructionResultFinalize(xsltTransformContextPtr ctxt)
xmlHashTablePtr extElements
GLint GLint GLsizei GLsizei GLsizei depth
XSLTPUBFUN void XSLTCALL xsltReleaseRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
xsltDocumentPtr styleList
const xmlChar * case_order
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltParseStylesheetDoc(xmlDocPtr doc)
xsltElemPreCompDeallocator free
XSLTPUBFUN xsltDecimalFormatPtr XSLTCALL xsltDecimalFormatGetByName(xsltStylesheetPtr style, xmlChar *name)
XSLTPUBFUN int XSLTCALL xsltRegisterTmpRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
xsltStackElemPtr * varsTab
void(* xsltElemPreCompDeallocator)(xsltElemPreCompPtr comp)
struct _xsltStylesheet * style
xsltElemPreComp * xsltElemPreCompPtr
xsltStylePreComp * xsltStylePreCompPtr
static const wchar_t void * locale
static unsigned __int64 next
XSLTPUBFUN void XSLTCALL xsltParseTemplateContent(xsltStylesheetPtr style, xmlNodePtr templ)
xmlXPathContextPtr xpathCtxt
struct _xsltKeyDef * next
xmlGenericErrorFunc error
XSLTPUBFUN xmlChar *XSLTCALL xsltEvalAVT(xsltTransformContextPtr ctxt, void *avt, xmlNodePtr node)
XSLTPUBFUN xsltDecimalFormatPtr XSLTCALL xsltDecimalFormatGetByQName(xsltStylesheetPtr style, const xmlChar *nsUri, const xmlChar *name)
xmlHashTablePtr attributeSets
void(XMLCDECL * xmlGenericErrorFunc)(void *ctx, const char *msg,...) LIBXML_ATTR_FORMAT(2
XSLTPUBFUN void XSLTCALL xsltFreeRVTs(xsltTransformContextPtr ctxt)
xsltStackElem * xsltStackElemPtr
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltLoadStylesheetPI(xmlDocPtr doc)
XSLTPUBFUN void XSLTCALL xsltParseStylesheetOutput(xsltStylesheetPtr style, xmlNodePtr cur)
xmlHashTablePtr stripSpaces
GLuint GLuint GLsizei GLenum type
XSLTPUBFUN xsltStylesheetPtr XSLTCALL xsltNewStylesheet(void)
xsltRuntimeExtra * xsltRuntimeExtraPtr
XSLTPUBFUN xmlXPathError XSLTCALL xsltFormatNumberConversion(xsltDecimalFormatPtr self, xmlChar *format, double number, xmlChar **result)
xmlHashTablePtr globalVars
xsltStylesheetPtr principal
xsltStylesheet * xsltStylesheetPtr
GLuint const GLchar * name