19 #ifdef WITH_XSLT_DEBUG 20 #define WITH_XSLT_DEBUG_PATTERN 132 "xsltNewCompMatch : out of memory error\n");
142 "xsltNewCompMatch : out of memory error\n");
178 xmlXPathFreeCompExpr(
op->comp);
195 while (comp !=
NULL) {
223 for (ix = 0; ix < comp->
nbStep; ix++) {
246 "xsltNewParserContext : malloc failed\n");
292 "xsltCompMatchAdd: memory re-allocation failure.\n");
327 #ifdef XML_XPATH_NOVAR 329 flags = XML_XPATH_NOVAR;
335 "Failed to compile predicate\n");
358 register xmlXPathCompExprPtr
expr;
403 register xmlXPathCompExprPtr
expr;
482 "xsltPatPushState: memory re-allocation failure.\n");
499 xmlXPathFreeObject((xmlXPathObjectPtr)
obj);
521 xmlXPathObjectPtr
list;
531 sel = &comp->
steps[0];
536 list = (xmlXPathObjectPtr)
539 if ((
list ==
NULL) || (prevdoc != doc)) {
540 xmlXPathObjectPtr newlist;
544 int oldNsNr, oldContextSize, oldProximityPosition;
550 oldNamespaces = ctxt->
xpathCtxt->namespaces;
551 oldContextSize = ctxt->
xpathCtxt->contextSize;
552 oldProximityPosition = ctxt->
xpathCtxt->proximityPosition;
560 ctxt->
xpathCtxt->namespaces = oldNamespaces;
562 ctxt->
xpathCtxt->contextSize = oldContextSize;
563 ctxt->
xpathCtxt->proximityPosition = oldProximityPosition;
566 if (newlist->type != XPATH_NODESET) {
567 xmlXPathFreeObject(newlist);
577 xmlXPathFreeObject(
list);
592 (
list->nodesetval->nodeNr <= 0)) {
594 xmlXPathFreeObject(
list);
599 for (
j = 0;
j <
list->nodesetval->nodeNr;
j++) {
600 if (
list->nodesetval->nodeTab[
j] ==
node) {
602 xmlXPathFreeObject(
list);
609 xmlXPathFreeObject(
list);
654 oldCP = ctxt->
xpathCtxt->proximityPosition;
665 if ((previous !=
NULL) &&
673 while (sibling !=
NULL) {
674 if (sibling == previous)
679 (previous->
name[0] == sibling->
name[0]) &&
687 sibling = sibling->
prev;
689 if (sibling ==
NULL) {
693 while (sibling !=
NULL) {
694 if (sibling == previous)
699 (previous->
name[0] == sibling->
name[0]) &&
710 sibling = sibling->
next;
713 if (sibling !=
NULL) {
739 while (siblings !=
NULL) {
741 if (siblings ==
node) {
746 (
node->name[0] == siblings->
name[0]) &&
749 ((siblings->
ns !=
NULL) &&
754 siblings = siblings->
next;
774 if ((!isRVT) && (
node->doc !=
NULL) &&
788 if ((previous !=
NULL) &&
796 while (sibling !=
NULL) {
797 if (sibling == previous)
801 sibling = sibling->
prev;
803 if (sibling ==
NULL) {
807 while (sibling !=
NULL) {
808 if (sibling == previous)
812 sibling = sibling->
next;
815 if (sibling !=
NULL) {
822 if ((
node->doc !=
NULL) && !isRVT) {
838 while (siblings !=
NULL) {
841 if (siblings ==
node) {
845 siblings = siblings->
next;
865 if ((
node->doc !=
NULL) && (nocache == 0) && !isRVT) {
873 oldNode = ctxt->
node;
880 ctxt->
xpathCtxt->proximityPosition = oldCP;
882 ctxt->
node = oldNode;
912 "xsltTestCompMatch: null arg\n");
941 oldInst = ctxt->
inst;
956 (
node->type == XML_DOCB_DOCUMENT_NODE) ||
977 }
else if (
node->ns->href !=
NULL) {
1006 (
node->type == XML_DOCB_DOCUMENT_NODE) ||
1023 }
else if (
node->ns->href !=
NULL) {
1033 step = &comp->
steps[
i+1];
1049 (
node->type == XML_DOCB_DOCUMENT_NODE) ||
1071 }
else if (
node->ns->href !=
NULL) {
1103 for (indx = 0;indx <
list->nodeNr;indx++)
1106 if (indx >=
list->nodeNr)
1116 }
else if (
node->ns->href !=
NULL) {
1164 switch (
node->type) {
1180 ctxt->
inst = oldInst;
1218 while (comp !=
NULL) {
1237 xmlXPathObjectPtr
list;
1239 if ((ctxt ==
NULL) || (comp ==
NULL))
1242 sel = &comp->
steps[0];
1246 xmlXPathFreeObject(
list);
1261 #define CUR (*ctxt->cur) 1262 #define SKIP(val) ctxt->cur += (val) 1263 #define NXT(val) ctxt->cur[(val)] 1264 #define CUR_PTR ctxt->cur 1266 #define SKIP_BLANKS \ 1267 while (IS_BLANK_CH(CUR)) NEXT 1269 #define CURRENT (*ctxt->cur) 1270 #define NEXT ((*ctxt->cur) ? ctxt->cur++: ctxt->cur) 1273 #define PUSH(op, val, val2, novar) \ 1274 if (xsltCompMatchAdd(ctxt, ctxt->comp, (op), (val), (val2), (novar))) goto error; 1277 xsltSwapTopCompMatch(ctxt->comp); 1279 #define XSLT_ERROR(X) \ 1280 { xsltError(ctxt, __FILE__, __LINE__, X); \ 1281 ctxt->error = (X); return; } 1283 #define XSLT_ERROR0(X) \ 1284 { xsltError(ctxt, __FILE__, __LINE__, X); \ 1285 ctxt->error = (X); return(0); } 1322 }
else if (
CUR ==
'\'') {
1369 (
val ==
'.') || (
val ==
'-') ||
1400 int aid,
int novar,
xsltAxis axis) {
1406 "xsltCompileIdKeyPattern : ( expected\n");
1413 "xsltCompileIdKeyPattern : NodeTest expected\n");
1422 "xsltCompileIdKeyPattern : Literal expected\n");
1428 "xsltCompileIdKeyPattern : ) expected\n");
1439 "xsltCompileIdKeyPattern : NodeTest expected\n");
1448 "xsltCompileIdKeyPattern : Literal expected\n");
1454 "xsltCompileIdKeyPattern : , expected\n");
1464 "xsltCompileIdKeyPattern : Literal expected\n");
1471 "xsltCompileIdKeyPattern : ) expected\n");
1489 "xsltCompileIdKeyPattern : Literal expected\n");
1495 "xsltCompileIdKeyPattern : ) expected\n");
1509 "xsltCompileIdKeyPattern : ) expected\n");
1520 "xsltCompileIdKeyPattern : ) expected\n");
1531 "xsltCompileIdKeyPattern : ) expected\n");
1544 "xsltCompileIdKeyPattern : expecting 'key' or 'id' or node type\n");
1549 "xsltCompileIdKeyPattern : node type\n");
1604 goto parse_predicate;
1607 "xsltCompileStepPattern : Name expected\n");
1621 }
else if (
CUR ==
':') {
1634 "xsltCompileStepPattern : no namespace bound to prefix %s\n",
1658 "xsltCompileStepPattern : Name expected\n");
1678 "xsltCompileStepPattern : NodeTest expected\n");
1689 "xsltCompileStepPattern : 'child' or 'attribute' expected\n");
1697 goto parse_node_test;
1721 while (
CUR ==
'[') {
1732 else if (
CUR ==
']') {
1736 }
else if (
CUR ==
'"') {
1738 while ((
CUR != 0) && (
CUR !=
'"'))
1740 }
else if (
CUR ==
'\'') {
1742 while ((
CUR != 0) && (
CUR !=
'\''))
1749 "xsltCompileStepPattern : ']' expected\n");
1788 while ((
CUR != 0) && (
CUR !=
'|')) {
1789 if ((
CUR ==
'/') && (
NXT(1) ==
'/')) {
1795 }
else if (
CUR ==
'/') {
1826 if ((
CUR ==
'/') && (
NXT(1) ==
'/')) {
1835 }
else if (
CUR ==
'/') {
1842 if ((
CUR != 0) && (
CUR !=
'|')) {
1846 }
else if (
CUR ==
'*') {
1848 }
else if (
CUR ==
'@') {
1855 "xsltCompileLocationPathPattern : Name expected\n");
1860 if ((
CUR ==
'(') && !xmlXPathIsNodeType(
name)) {
1866 if ((
CUR ==
'/') && (
NXT(1) ==
'/')) {
1872 }
else if (
CUR ==
'/') {
1913 "xsltCompilePattern : NULL pattern\n");
1949 "xsltCompilePattern : NULL pattern\n");
1958 else if (previous !=
NULL)
1978 #ifdef WITH_XSLT_DEBUG_PATTERN 1980 "xsltCompilePattern : parsing '%s'\n",
1991 "xsltCompilePattern : failed to compile '%s'\n",
2036 #ifdef WITH_XSLT_DEBUG_PATTERN 2038 "xsltCompilePattern : parsed %s, default priority %f\n",
2047 "xsltCompilePattern : NULL pattern\n");
2130 "xsl:template: error duplicate name '%s'\n",
2143 "xsl:template: need to specify match or name attribute\n");
2197 "xsltAddTemplate: invalid compiled pattern\n");
2278 "xsltAddTemplate: invalid compiled pattern\n");
2282 #ifdef WITH_XSLT_DEBUG_PATTERN 2285 "added pattern : '%s' mode '%s' priority %f\n",
2289 "added pattern : '%s' priority %f\n",
2301 if ((ctxt ==
NULL) || (contextNode ==
NULL)) {
2303 "Internal error in xsltComputeAllKeys(): " 2304 "Bad arguments.\n");
2312 if (contextNode->
doc->_private !=
NULL)
2313 goto doc_info_mismatch;
2325 "Internal error in xsltComputeAllKeys(): " 2326 "The context's document info doesn't match the " 2327 "document info of the current result tree.\n");
2358 curstyle = ctxt->
style;
2363 while ((curstyle !=
NULL) && (curstyle !=
style)) {
2370 switch (
node->type) {
2372 if (
node->name[0] ==
' ')
2424 switch (
node->type) {
2426 if (
node->name[0] ==
' ')
2546 switch (
node->type) {
XMLPUBFUN int XMLCALL xmlHashAddEntry3(xmlHashTablePtr table, const xmlChar *name, const xmlChar *name2, const xmlChar *name3, void *userdata)
static int xsltPatPushState(xsltTransformContextPtr ctxt, xsltStepStates *states, int step, xmlNodePtr node)
void xsltFreeCompMatchList(xsltCompMatchPtr comp)
xsltStepStates * xsltStepStatesPtr
XMLPUBFUN xmlChar *XMLCALL xmlStrndup(const xmlChar *cur, int len)
xsltStylesheetPtr xsltNextImport(xsltStylesheetPtr cur)
XMLPUBFUN int XMLCALL xmlHashAddEntry2(xmlHashTablePtr table, const xmlChar *name, const xmlChar *name2, void *userdata)
int xsltAddTemplate(xsltStylesheetPtr style, xsltTemplatePtr cur, const xmlChar *mode, const xmlChar *modeURI)
void xsltNormalizeCompSteps(void *payload, void *data, const xmlChar *name ATTRIBUTE_UNUSED)
xsltStepState * xsltStepStatePtr
#define XSLT_PAT_NO_PRIORITY
static int xsltCompMatchAdd(xsltParserContextPtr ctxt, xsltCompMatchPtr comp, xsltOp op, xmlChar *value, xmlChar *value2, int novar)
static xmlChar * xsltScanLiteral(xsltParserContextPtr ctxt)
int xsltEvalXPathPredicate(xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp, xmlNsPtr *nsList, int nsNr)
static void xsltFreeCompMatch(xsltCompMatchPtr comp)
static int xsltTestCompMatchDirect(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp, xmlNodePtr node, xmlNsPtr *nsList, int nsNr)
XMLPUBFUN int XMLCALL xmlStringCurrentChar(xmlParserCtxtPtr ctxt, const xmlChar *cur, int *len)
XMLPUBFUN void *XMLCALL xmlHashLookup2(xmlHashTablePtr table, const xmlChar *name, const xmlChar *name2)
XMLPUBFUN xmlAttrPtr XMLCALL xmlGetID(xmlDocPtr doc, const xmlChar *ID)
static void xsltCompileIdKeyPattern(xsltParserContextPtr ctxt, xmlChar *name, int aid, int novar, xsltAxis axis)
static int xsltTestPredicateMatch(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp, xmlNodePtr node, xsltStepOpPtr step, xsltStepOpPtr sel)
struct _xsltParserContext xsltParserContext
#define PUSH(op, val, val2, novar)
void xsltFreeTemplateHashes(xsltStylesheetPtr style)
xsltTemplatePtr xsltGetTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node, xsltStylesheetPtr style)
static void xmlXPathFreeObjectWrapper(void *obj)
static xmlChar * xsltScanNCName(xsltParserContextPtr ctxt)
xsltParserContext * xsltParserContextPtr
XMLPUBFUN void XMLCALL xmlHashFree(xmlHashTablePtr table, xmlHashDeallocator f)
#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr)
xmlGenericErrorFunc xsltGenericError
_Check_return_opt_ _CRTIMP int __cdecl fprintf(_Inout_ FILE *_File, _In_z_ _Printf_format_string_ const char *_Format,...)
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 token
XMLPUBFUN xmlChar *XMLCALL xmlStrcat(xmlChar *cur, const xmlChar *add)
XMLPUBFUN xmlNsPtr XMLCALL xmlSearchNs(xmlDocPtr doc, xmlNodePtr node, const xmlChar *nameSpace)
static DWORD DWORD DWORD DWORD * steps
WDF_INTERRUPT_PRIORITY priority
struct _xsltCompMatch * next
static void xsltCompileStepPattern(xsltParserContextPtr ctxt, xmlChar *token, int novar)
xmlXPathContextPtr xpathCtxt
static int xsltTestCompMatch(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp, xmlNodePtr matchNode, const xmlChar *mode, const xmlChar *modeURI)
XMLPUBFUN void *XMLCALL xmlHashLookup3(xmlHashTablePtr table, const xmlChar *name, const xmlChar *name2, const xmlChar *name3)
XMLPUBVAR xmlReallocFunc xmlRealloc
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 GLint GLint j
void restart(int argc, const char *argv[])
int xsltTestCompMatchList(xsltTransformContextPtr ctxt, xmlNodePtr node, xsltCompMatchPtr comp)
void * xsltGenericDebugContext
xmlNodeSetPtr xsltGetKey(xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *nameURI, const xmlChar *value)
static void xsltCompileRelativePathPattern(xsltParserContextPtr ctxt, xmlChar *token, int novar)
static xsltCompMatchPtr xsltCompilePatternInternal(const xmlChar *pattern, xmlDocPtr doc, xmlNodePtr node, xsltStylesheetPtr style, xsltTransformContextPtr runtime, int novar)
static void xsltSwapTopCompMatch(xsltCompMatchPtr comp)
XMLPUBVAR xmlFreeFunc xmlFree
XMLPUBFUN const xmlChar *XMLCALL xmlDictLookup(xmlDictPtr dict, const xmlChar *name, int len)
GLdouble GLdouble GLdouble GLdouble q
xmlGenericErrorFunc xsltGenericDebug
struct task_struct * current
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
static void xsltFreeParserContext(xsltParserContextPtr ctxt)
xsltCompMatch * xsltCompMatchPtr
XMLPUBFUN xmlHashTablePtr XMLCALL xmlHashCreate(int size)
void * xsltGenericErrorContext
static xsltParserContextPtr xsltNewParserContext(xsltStylesheetPtr style, xsltTransformContextPtr ctxt)
XMLPUBFUN int XMLCALL xmlHashUpdateEntry3(xmlHashTablePtr table, const xmlChar *name, const xmlChar *name2, const xmlChar *name3, void *userdata, xmlHashDeallocator f)
#define XSLT_RUNTIME_EXTRA(ctxt, nr, typ)
GLsizei const GLfloat * value
#define LIBXML_DOCB_ENABLED
xsltStepOp * xsltStepOpPtr
xsltTransformContextPtr ctxt
#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr)
int xsltAllocateExtraCtxt(xsltTransformContextPtr ctxt)
static unsigned __int64 next
static int xsltComputeAllKeys(xsltTransformContextPtr ctxt, xmlNodePtr contextNode)
int xsltInitAllDocKeys(xsltTransformContextPtr ctxt)
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
#define XSLT_IS_RES_TREE_FRAG(n)
static void xsltFreeCompMatchListEntry(void *payload, const xmlChar *name ATTRIBUTE_UNUSED)
int xsltAllocateExtra(xsltStylesheetPtr style)
xsltCompMatchPtr xsltCompilePattern(const xmlChar *pattern, xmlDocPtr doc, xmlNodePtr node, xsltStylesheetPtr style, xsltTransformContextPtr runtime)
void xsltCompMatchClearCache(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp)
_In_ fcb _In_ chunk _In_ uint64_t _In_ uint64_t _In_ bool _In_opt_ void _In_opt_ PIRP _In_ LIST_ENTRY * rollback
XMLPUBVAR xmlMallocFunc xmlMalloc
xmlXPathCompExprPtr xsltXPathCompileFlags(xsltStylesheetPtr style, const xmlChar *str, int flags)
void xsltCleanupTemplates(xsltStylesheetPtr style ATTRIBUTE_UNUSED)
_Check_return_ _CRTIMP int __cdecl dup(_In_ int _FileHandle)
static void xsltCompileLocationPathPattern(xsltParserContextPtr ctxt, int novar)
static void xsltReverseCompMatch(xsltParserContextPtr ctxt, xsltCompMatchPtr comp)
GLdouble GLdouble GLdouble GLdouble top
XMLPUBFUN int XMLCALL xmlStrEqual(const xmlChar *str1, const xmlChar *str2)
void xsltTransformError(xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char *msg,...)
XMLPUBFUN xmlChar *XMLCALL xmlStrdup(const xmlChar *cur)
xsltDocumentPtr xsltNewDocument(xsltTransformContextPtr ctxt, xmlDocPtr doc)
static xsltCompMatchPtr xsltNewCompMatch(void)
GLuint const GLchar * name
const xmlChar * xsltGetQNameURI(xmlNodePtr node, xmlChar **name)