14 #ifdef WITH_XSLT_DEBUG 15 #define WITH_XSLT_DEBUG_VARIABLE 18 #ifdef XSLT_REFACTORED 19 const xmlChar *xsltDocFragFake = (
const xmlChar *)
" fake node libxslt";
23 (
const xmlChar *)
" var/param being computed";
25 #define XSLT_VAR_GLOBAL (1<<0) 26 #define XSLT_VAR_IN_SELECT (1<<1) 27 #define XSLT_TCTXT_VARIABLE(c) ((xsltStackElemPtr) (c)->contextVariable) 66 #ifdef XSLT_DEBUG_PROFILE_CACHE 67 ctxt->
cache->dbgReusedRVTs++;
101 if ((ctxt ==
NULL) || (RVT ==
NULL))
141 if ((ctxt ==
NULL) || (RVT ==
NULL))
191 "xsltExtensionInstructionResultFinalize is unsupported " 192 "in this release of libxslt.\n");
251 if ((
obj->type != XPATH_NODESET) && (
obj->type != XPATH_XSLT_TREE))
253 if ((
obj->nodesetval ==
NULL) || (
obj->nodesetval->nodeNr == 0))
256 for (
i = 0;
i <
obj->nodesetval->nodeNr;
i++) {
257 cur =
obj->nodesetval->nodeTab[
i];
270 "Internal error in xsltFlagRVTs(): " 271 "Cannot retrieve the doc of a namespace node.\n");
279 "Internal error in xsltFlagRVTs(): " 280 "Cannot retrieve the doc of a node.\n");
283 if (doc->
name && (doc->
name[0] ==
' ') &&
291 #ifdef WITH_XSLT_DEBUG_VARIABLE 293 "Flagging RVT %p: %p -> %p\n", doc, doc->
psvi,
val));
302 "xsltFlagRVTs: Invalid transition %p => GLOBAL\n",
371 #ifdef XSLT_DEBUG_PROFILE_CACHE
372 ctxt->
cache->dbgCachedRVTs++;
401 if ((ctxt ==
NULL) || (RVT ==
NULL))
return(-1);
496 #ifdef XSLT_DEBUG_PROFILE_CACHE 497 ctxt->
cache->dbgReusedVars++;
504 "xsltNewStackElem : malloc failed\n");
527 "xsltCopyStackElem : malloc failed\n");
551 xmlXPathFreeObject(
elem->value);
569 "xsltFreeStackElem: Unexpected RVT flag %p\n",
577 if (
elem->context && (
elem->context->cache->nbStackItems < 50)) {
583 elem->context = ctxt;
587 #ifdef XSLT_DEBUG_PROFILE_CACHE 588 ctxt->
cache->dbgCachedVars++;
627 static int stack_addr = 0;
628 static int stack_cmp = 0;
649 if ((
cur->name ==
name) && (
cur->nameURI == nameURI)) {
670 if ((
cur->name ==
name) && (
cur->nameURI == nameURI)) {
683 #ifdef XSLT_REFACTORED 803 static xmlXPathObjectPtr
807 #ifdef XSLT_REFACTORED 808 xsltStyleItemVariablePtr comp =
809 (xsltStyleItemVariablePtr) castedComp;
824 oldInst = ctxt->
inst;
826 #ifdef WITH_XSLT_DEBUG_VARIABLE 828 "Evaluating variable '%s'\n",
variable->name));
831 xmlXPathCompExprPtr xpExpr =
NULL;
834 int oldXPProximityPosition, oldXPContextSize, oldXPNsNr;
836 xmlXPathContextPtr xpctxt = ctxt->
xpathCtxt;
849 oldXPDoc = xpctxt->
doc;
850 oldXPContextNode = xpctxt->node;
851 oldXPProximityPosition = xpctxt->proximityPosition;
852 oldXPContextSize = xpctxt->contextSize;
853 oldXPNamespaces = xpctxt->namespaces;
854 oldXPNsNr = xpctxt->nsNr;
856 xpctxt->node = ctxt->
node;
881 #ifdef XSLT_REFACTORED 882 if (comp->inScopeNs !=
NULL) {
883 xpctxt->namespaces = comp->inScopeNs->list;
884 xpctxt->
nsNr = comp->inScopeNs->xpathNumber;
886 xpctxt->namespaces =
NULL;
890 xpctxt->namespaces = comp->
nsList;
891 xpctxt->nsNr = comp->
nsNr;
894 xpctxt->namespaces =
NULL;
908 result = xmlXPathCompiledEval(xpExpr, xpctxt);
916 xpctxt->doc = oldXPDoc;
917 xpctxt->node = oldXPContextNode;
918 xpctxt->contextSize = oldXPContextSize;
919 xpctxt->proximityPosition = oldXPProximityPosition;
920 xpctxt->namespaces = oldXPNamespaces;
921 xpctxt->nsNr = oldXPNsNr;
924 xmlXPathFreeCompExpr(xpExpr);
928 "Failed to evaluate the expression of variable '%s'.\n",
932 #ifdef WITH_XSLT_DEBUG_VARIABLE 933 #ifdef LIBXML_DEBUG_ENABLED 944 result = xmlXPathNewCString(
"");
993 result = xmlXPathNewCString(
"");
1001 #ifdef WITH_XSLT_DEBUG_VARIABLE 1002 #ifdef LIBXML_DEBUG_ENABLED 1014 ctxt->
inst = oldInst;
1028 static xmlXPathObjectPtr
1035 #ifdef XSLT_REFACTORED 1036 xsltStyleBasicItemVariablePtr comp;
1044 return(
elem->value);
1047 #ifdef WITH_XSLT_DEBUG_VARIABLE 1049 "Evaluating global variable %s\n",
elem->name));
1052 #ifdef WITH_DEBUGGER 1058 oldInst = ctxt->
inst;
1059 #ifdef XSLT_REFACTORED 1060 comp = (xsltStyleBasicItemVariablePtr)
elem->comp;
1064 oldVarName =
elem->name;
1073 xmlXPathCompExprPtr xpExpr =
NULL;
1076 int oldXPProximityPosition, oldXPContextSize, oldXPNsNr;
1078 xmlXPathContextPtr xpctxt = ctxt->
xpathCtxt;
1081 xpExpr = comp->
comp;
1083 xpExpr = xmlXPathCtxtCompile(ctxt->
xpathCtxt,
elem->select);
1105 oldXPDoc = xpctxt->
doc;
1106 oldXPContextNode = xpctxt->node;
1107 oldXPProximityPosition = xpctxt->proximityPosition;
1108 oldXPContextSize = xpctxt->contextSize;
1109 oldXPNamespaces = xpctxt->namespaces;
1110 oldXPNsNr = xpctxt->nsNr;
1114 xpctxt->contextSize = 1;
1115 xpctxt->proximityPosition = 1;
1119 #ifdef XSLT_REFACTORED 1120 if (comp->inScopeNs !=
NULL) {
1121 xpctxt->namespaces = comp->inScopeNs->list;
1122 xpctxt->
nsNr = comp->inScopeNs->xpathNumber;
1124 xpctxt->namespaces =
NULL;
1128 xpctxt->namespaces = comp->
nsList;
1129 xpctxt->nsNr = comp->
nsNr;
1132 xpctxt->namespaces =
NULL;
1136 result = xmlXPathCompiledEval(xpExpr, xpctxt);
1141 xpctxt->doc = oldXPDoc;
1142 xpctxt->node = oldXPContextNode;
1143 xpctxt->contextSize = oldXPContextSize;
1144 xpctxt->proximityPosition = oldXPProximityPosition;
1145 xpctxt->namespaces = oldXPNamespaces;
1146 xpctxt->nsNr = oldXPNsNr;
1149 xmlXPathFreeCompExpr(xpExpr);
1153 "Evaluating global variable %s failed\n",
elem->name);
1156 "Evaluating global variable %s failed\n",
elem->name);
1167 #ifdef WITH_XSLT_DEBUG_VARIABLE 1168 #ifdef LIBXML_DEBUG_ENABLED 1177 result = xmlXPathNewCString(
"");
1194 oldOutput = ctxt->
output;
1195 oldInsert = ctxt->
insert;
1210 ctxt->
insert = oldInsert;
1211 ctxt->
output = oldOutput;
1215 result = xmlXPathNewCString(
"");
1219 #ifdef WITH_XSLT_DEBUG_VARIABLE 1220 #ifdef LIBXML_DEBUG_ENABLED 1231 elem->name = oldVarName;
1232 ctxt->
inst = oldInst;
1264 #ifdef WITH_XSLT_DEBUG_VARIABLE 1266 "Registering global variables\n"));
1275 #ifdef WITH_XSLT_DEBUG_VARIABLE 1278 "Registering global variables from %s\n",
1308 "Global variable %s already defined\n",
elem->name);
1354 #ifdef WITH_XSLT_DEBUG_VARIABLE 1357 "Defining global param %s\n",
name);
1360 "Defining global variable %s\n",
name);
1372 tmp =
style->variables;
1377 while (tmp !=
NULL) {
1385 "redefinition of global variable %s\n",
elem->name);
1443 xmlXPathCompExprPtr xpExpr;
1444 xmlXPathObjectPtr
result;
1459 #ifdef WITH_XSLT_DEBUG_VARIABLE 1461 "Evaluating user parameter %s=%s\n",
name,
value));
1469 if (
name[0] ==
'{') {
1475 "user param : malformed parameter name : %s\n",
name);
1483 if (prefix !=
NULL) {
1490 "user param : no namespace bound to prefix %s\n", prefix);
1504 "Global parameter %s already defined\n",
name);
1535 if (xpExpr !=
NULL) {
1538 int oldXPProximityPosition, oldXPContextSize, oldXPNsNr;
1540 xmlXPathContextPtr xpctxt = ctxt->
xpathCtxt;
1545 oldXPDoc = xpctxt->
doc;
1546 oldXPContextNode = xpctxt->node;
1547 oldXPProximityPosition = xpctxt->proximityPosition;
1548 oldXPContextSize = xpctxt->contextSize;
1549 oldXPNamespaces = xpctxt->namespaces;
1550 oldXPNsNr = xpctxt->nsNr;
1563 xpctxt->contextSize = 1;
1564 xpctxt->proximityPosition = 1;
1569 xpctxt->namespaces =
NULL;
1572 result = xmlXPathCompiledEval(xpExpr, xpctxt);
1577 xpctxt->doc = oldXPDoc;
1578 xpctxt->node = oldXPContextNode;
1579 xpctxt->contextSize = oldXPContextSize;
1580 xpctxt->proximityPosition = oldXPProximityPosition;
1581 xpctxt->namespaces = oldXPNamespaces;
1582 xpctxt->nsNr = oldXPNsNr;
1584 xmlXPathFreeCompExpr(xpExpr);
1588 "Evaluating user parameter %s failed\n",
name);
1605 #ifdef WITH_XSLT_DEBUG_VARIABLE 1606 #ifdef LIBXML_DEBUG_ENABLED 1638 "Global parameter %s already defined\n",
name);
1767 #ifdef XSLT_REFACTORED 1768 xsltStyleBasicItemVariablePtr comp =
1769 (xsltStyleBasicItemVariablePtr) castedComp;
1775 #ifdef WITH_XSLT_DEBUG_VARIABLE 1777 "Building variable %s", comp->
name));
1780 " select %s", comp->
select));
1790 elem->nameURI = comp->
ns;
1814 #ifdef XSLT_REFACTORED 1815 xsltStyleBasicItemVariablePtr comp =
1816 (xsltStyleBasicItemVariablePtr) castedComp;
1823 #ifdef XSLT_REFACTORED 1832 if ((present != 0) && (present != 3)) {
1835 "XSLT-variable: Redefinition of variable '%s'.\n", comp->
name);
1838 }
else if (present != 0) {
1839 if ((present == 1) || (present == 2)) {
1842 "XSLT-param: Redefinition of parameter '%s'.\n", comp->
name);
1845 #ifdef WITH_XSLT_DEBUG_VARIABLE 1847 "param %s defined by caller\n", comp->
name));
1869 static xmlXPathObjectPtr
1883 #ifdef WITH_XSLT_DEBUG_VARIABLE 1885 "global variable not found %s\n",
name));
1893 if (
elem->computed == 0) {
1896 "Recursive definition of %s\n",
name);
1902 return(xmlXPathObjectCopy(
ret));
1928 if (
elem->computed == 0) {
1929 #ifdef WITH_XSLT_DEBUG_VARIABLE 1931 "uncomputed variable %s\n",
name));
1937 return(xmlXPathObjectCopy(
elem->value));
1938 #ifdef WITH_XSLT_DEBUG_VARIABLE 1940 "variable not found %s\n",
name));
1961 #ifdef XSLT_REFACTORED 1962 xsltStyleBasicItemVariablePtr comp;
1973 #ifdef XSLT_REFACTORED 1974 comp = (xsltStyleBasicItemVariablePtr) inst->
psvi;
1981 "Internal error in xsltParseStylesheetCallerParam(): " 1982 "The XSLT 'with-param' instruction was not compiled.\n");
1987 "Internal error in xsltParseStylesheetCallerParam(): " 1988 "XSLT 'with-param': The attribute 'name' was not compiled.\n");
1992 #ifdef WITH_XSLT_DEBUG_VARIABLE 1994 "Handling xsl:with-param %s\n", comp->
name));
2000 #ifdef WITH_XSLT_DEBUG_VARIABLE 2002 " select %s\n", comp->
select));
2023 #ifdef XSLT_REFACTORED 2024 xsltStyleItemVariablePtr comp;
2032 #ifdef XSLT_REFACTORED 2037 comp = (xsltStyleItemVariablePtr)
cur->psvi;
2044 "xsl:variable : compilation failed\n");
2050 "xsl:variable : missing name attribute\n");
2058 #ifdef XSLT_REFACTORED 2059 xsltParseSequenceConstructor(XSLT_CCTXT(
style),
cur->children);
2064 #ifdef WITH_XSLT_DEBUG_VARIABLE 2066 "Registering global variable %s\n", comp->
name);
2085 #ifdef XSLT_REFACTORED 2086 xsltStyleItemParamPtr comp;
2094 #ifdef XSLT_REFACTORED 2099 comp = (xsltStyleItemParamPtr)
cur->psvi;
2106 "xsl:param : compilation failed\n");
2112 "xsl:param : missing name attribute\n");
2120 #ifdef XSLT_REFACTORED 2121 xsltParseSequenceConstructor(XSLT_CCTXT(
style),
cur->children);
2127 #ifdef WITH_XSLT_DEBUG_VARIABLE 2129 "Registering global param %s\n", comp->
name);
2148 #ifdef XSLT_REFACTORED 2149 xsltStyleItemVariablePtr comp;
2160 "Internal error in xsltParseStylesheetVariable(): " 2161 "The XSLT 'variable' instruction was not compiled.\n");
2166 "Internal error in xsltParseStylesheetVariable(): " 2167 "The attribute 'name' was not compiled.\n");
2171 #ifdef WITH_XSLT_DEBUG_VARIABLE 2173 "Registering variable '%s'\n", comp->
name));
2190 #ifdef XSLT_REFACTORED 2191 xsltStyleItemParamPtr comp;
2202 "Internal error in xsltParseStylesheetParam(): " 2203 "The XSLT 'param' declaration was not compiled correctly.\n");
2207 #ifdef WITH_XSLT_DEBUG_VARIABLE 2209 "Registering param %s\n", comp->
name));
2243 xmlXPathObjectPtr valueObj =
NULL;
2248 #ifdef WITH_XSLT_DEBUG_VARIABLE 2250 "Lookup variable '%s'\n",
name));
2262 if (tctxt->
varsNr != 0) {
2268 if ((
cur->name ==
name) && (
cur->nameURI == ns_uri)) {
2273 goto local_variable_found;
2284 const xmlChar *tmpName =
name, *tmpNsName = ns_uri;
2289 if ((tmpName !=
name) || (tmpNsName != ns_uri)) {
2292 if ((
cur->name ==
name) && (
cur->nameURI == ns_uri)) {
2297 goto local_variable_found;
2303 local_variable_found:
2308 #ifdef WITH_XSLT_DEBUG_VARIABLE 2310 "uncomputed variable '%s'\n",
name));
2316 valueObj = xmlXPathObjectCopy(
variable->value);
2328 if (valueObj ==
NULL) {
2330 #ifdef WITH_XSLT_DEBUG_VARIABLE 2332 "variable not found '%s'\n",
name));
2337 "Variable '{%s}%s' has not been declared.\n", ns_uri,
name);
2340 "Variable '%s' has not been declared.\n",
name);
2344 #ifdef WITH_XSLT_DEBUG_VARIABLE 2346 "found variable '%s'\n",
name));
xmlDocPtr xsltCreateRVT(xsltTransformContextPtr ctxt)
void xsltParseGlobalParam(xsltStylesheetPtr style, xmlNodePtr cur)
xsltTransformCachePtr cache
int xsltExtensionInstructionResultRegister(xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED, xmlXPathObjectPtr obj ATTRIBUTE_UNUSED)
int xsltFlagRVTs(xsltTransformContextPtr ctxt, xmlXPathObjectPtr obj, void *val)
XMLPUBFUN int XMLCALL xmlDictReference(xmlDictPtr dict)
xmlDocPtr initialContextDoc
XMLPUBFUN void XMLCALL xmlHashScan(xmlHashTablePtr table, xmlHashScanner f, void *data)
xmlNodePtr initialContextNode
int xsltAddStackElemList(xsltTransformContextPtr ctxt, xsltStackElemPtr elems)
void xsltParseStylesheetVariable(xsltTransformContextPtr ctxt, xmlNodePtr inst)
void xsltFreeRVTs(xsltTransformContextPtr ctxt)
static int xsltRegisterGlobalVariable(xsltStylesheetPtr style, const xmlChar *name, const xmlChar *ns_uri, const xmlChar *sel, xmlNodePtr tree, xsltStylePreCompPtr comp, const xmlChar *value)
xsltStackElemPtr variables
XMLPUBFUN void XMLCALL xmlFreeIDTable(xmlIDTablePtr table)
static void xsltFreeStackElemEntry(void *payload, const xmlChar *name ATTRIBUTE_UNUSED)
XMLPUBFUN void XMLCALL xmlFreeNodeList(xmlNodePtr cur)
xsltStylesheetPtr xsltNextImport(xsltStylesheetPtr cur)
XMLPUBFUN int XMLCALL xmlHashAddEntry2(xmlHashTablePtr table, const xmlChar *name, const xmlChar *name2, void *userdata)
void xsltParseStylesheetParam(xsltTransformContextPtr ctxt, xmlNodePtr cur)
int xsltExtensionInstructionResultFinalize(xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED)
void xsltReleaseRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
void xsltFreeGlobalVariables(xsltTransformContextPtr ctxt)
int xsltEvalGlobalVariables(xsltTransformContextPtr ctxt)
static xsltStackElemPtr xsltNewStackElem(xsltTransformContextPtr ctxt)
xmlXPathObjectPtr xsltXPathVariableLookup(void *ctxt, const xmlChar *name, const xmlChar *ns_uri)
struct _xsltStackElem * next
static int xsltProcessUserParamInternal(xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *value, int eval)
XMLPUBFUN void *XMLCALL xmlHashLookup2(xmlHashTablePtr table, const xmlChar *name, const xmlChar *name2)
xsltStackElemPtr xsltParseStylesheetCallerParam(xsltTransformContextPtr ctxt, xmlNodePtr inst)
static void xsltFreeStackElem(xsltStackElemPtr elem)
int xsltRegisterPersistRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
static int xsltCheckStackElem(xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *nameURI)
GLenum const GLfloat * params
XMLPUBFUN void XMLCALL xmlHashFree(xmlHashTablePtr table, xmlHashDeallocator f)
XMLPUBFUN xmlNsPtr XMLCALL xmlSearchNs(xmlDocPtr doc, xmlNodePtr node, const xmlChar *nameSpace)
xsltTransformContext * xsltTransformContextPtr
XMLPUBVAR xmlGenericErrorFunc xmlGenericError
#define XSLT_VAR_IN_SELECT
xmlXPathContextPtr xpathCtxt
XMLPUBVAR xmlReallocFunc xmlRealloc
void xsltStylePreCompute(xsltStylesheetPtr style, xmlNodePtr inst)
xmlXPathObjectPtr xsltVariableLookup(xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *ns_uri)
int xsltRegisterTmpRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
void * xsltGenericDebugContext
int xsltEvalOneUserParam(xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *value)
static xmlXPathObjectPtr xsltGlobalVariableLookup(xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *ns_uri)
const xmlChar * xsltSplitQName(xmlDictPtr dict, const xmlChar *name, const xmlChar **prefix)
static int xsltRegisterVariable(xsltTransformContextPtr ctxt, xsltStylePreCompPtr castedComp, xmlNodePtr tree, int isParam)
#define XSLT_TCTXT_VARIABLE(c)
#define XSLT_RVT_FUNC_RESULT
XMLPUBFUN void XMLCALL xmlFreeDoc(xmlDocPtr cur)
XMLPUBVAR xmlFreeFunc xmlFree
XMLPUBFUN const xmlChar *XMLCALL xmlDictLookup(xmlDictPtr dict, const xmlChar *name, int len)
xmlGenericErrorFunc xsltGenericDebug
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
#define XSLT_MARK_RES_TREE_FRAG(n)
XMLPUBFUN xmlHashTablePtr XMLCALL xmlHashCreate(int size)
static int xsltAddStackElem(xsltTransformContextPtr ctxt, xsltStackElemPtr elem)
static xsltStackElemPtr xsltCopyStackElem(xsltStackElemPtr elem)
GLsizei const GLfloat * value
xsltStackElemPtr * varsTab
#define XSLT_TRACE(ctxt, code, call)
static xmlXPathObjectPtr xsltEvalGlobalVariable(xsltStackElemPtr elem, xsltTransformContextPtr ctxt)
static xsltStackElemPtr xsltBuildVariable(xsltTransformContextPtr ctxt, xsltStylePreCompPtr castedComp, xmlNodePtr tree)
int xsltRegisterLocalRVT(xsltTransformContextPtr ctxt, xmlDocPtr RVT)
xsltStylePreComp * xsltStylePreCompPtr
void xsltFreeDocumentKeys(xsltDocumentPtr idoc)
static const xmlChar * xsltComputingGlobalVarMarker
void xsltFreeStackElemList(xsltStackElemPtr elem)
static unsigned __int64 next
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
static void xsltEvalGlobalVariableWrapper(void *payload, void *data, const xmlChar *name ATTRIBUTE_UNUSED)
int xsltQuoteUserParams(xsltTransformContextPtr ctxt, const char **params)
int xsltQuoteOneUserParam(xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *value)
XMLPUBVAR xmlMallocFunc xmlMalloc
static xmlXPathObjectPtr xsltEvalVariable(xsltTransformContextPtr ctxt, xsltStackElemPtr variable, xsltStylePreCompPtr castedComp)
struct _xmlNode * children
XMLPUBFUN xmlNodePtr XMLCALL xmlDocGetRootElement(const xmlDoc *doc)
xsltStackElem * xsltStackElemPtr
static xsltStackElemPtr xsltStackLookup(xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *nameURI)
struct _xmlNode * children
XMLPUBFUN int XMLCALL xmlStrEqual(const xmlChar *str1, const xmlChar *str2)
void xsltTransformError(xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char *msg,...)
void xsltParseTemplateContent(xsltStylesheetPtr style, xmlNodePtr templ)
void xsltParseGlobalVariable(xsltStylesheetPtr style, xmlNodePtr cur)
XMLPUBFUN xmlDocPtr XMLCALL xmlNewDoc(const xmlChar *version)
XMLPUBFUN void XMLCALL xmlFreeRefTable(xmlRefTablePtr table)
xmlHashTablePtr globalVars
int xsltEvalUserParams(xsltTransformContextPtr ctxt, const char **params)
XMLPUBVAR void * xmlGenericErrorContext
GLuint const GLchar * name