39#define WITH_XSLT_DEBUG_PATTERN
151 "xsltNewCompMatch : out of memory error\n");
161 "xsltNewCompMatch : out of memory error\n");
197 xmlXPathFreeCompExpr(
op->comp);
214 while (comp !=
NULL) {
242 for (ix = 0; ix < comp->
nbStep; ix++) {
265 "xsltNewParserContext : malloc failed\n");
311 "xsltCompMatchAdd: memory re-allocation failure.\n");
342#ifdef XML_XPATH_NOVAR
344 flags = XML_XPATH_NOVAR;
350 "Failed to compile predicate\n");
373 register xmlXPathCompExprPtr
expr;
418 register xmlXPathCompExprPtr
expr;
481 int step, xmlNodePtr
node) {
490 "xsltPatPushState: memory re-allocation failure.\n");
507 xmlXPathFreeObject((xmlXPathObjectPtr)
obj);
529 xmlXPathObjectPtr
list;
539 sel = &comp->
steps[0];
541 prevdoc = (xmlDocPtr)
544 list = (xmlXPathObjectPtr)
547 if ((
list ==
NULL) || (prevdoc != doc)) {
548 xmlXPathObjectPtr newlist;
552 int oldNsNr, oldContextSize, oldProximityPosition;
553 xmlNsPtr *oldNamespaces;
558 oldNamespaces = ctxt->
xpathCtxt->namespaces;
559 oldContextSize = ctxt->
xpathCtxt->contextSize;
560 oldProximityPosition = ctxt->
xpathCtxt->proximityPosition;
568 ctxt->
xpathCtxt->namespaces = oldNamespaces;
570 ctxt->
xpathCtxt->contextSize = oldContextSize;
571 ctxt->
xpathCtxt->proximityPosition = oldProximityPosition;
574 if (newlist->type != XPATH_NODESET) {
575 xmlXPathFreeObject(newlist);
585 xmlXPathFreeObject(
list);
600 (
list->nodesetval->nodeNr <= 0)) {
602 xmlXPathFreeObject(
list);
607 for (
j = 0;
j <
list->nodesetval->nodeNr;
j++) {
608 if (
list->nodesetval->nodeTab[
j] ==
node) {
610 xmlXPathFreeObject(
list);
617 xmlXPathFreeObject(
list);
636 if ((
node->type == XML_DOCUMENT_NODE) ||
637#ifdef LIBXML_DOCB_ENABLED
638 (
node->type == XML_DOCB_DOCUMENT_NODE) ||
640 (
node->type == XML_HTML_DOCUMENT_NODE))
642 if ((
node->type == XML_ELEMENT_NODE) && (
node->name[0] ==
' '))
646 if (
node->type != XML_ELEMENT_NODE)
659 }
else if (
node->ns->href !=
NULL) {
667 if (
node->type != XML_ATTRIBUTE_NODE)
688 if (
node->type != XML_ELEMENT_NODE)
704 for (indx = 0;indx <
list->nodeNr;indx++)
707 if (indx >=
list->nodeNr)
712 if (
node->type != XML_ELEMENT_NODE)
717 }
else if (
node->ns->href !=
NULL) {
725 if (
node->type != XML_ELEMENT_NODE)
729 if (
node->type != XML_PI_NODE)
737 if (
node->type != XML_COMMENT_NODE)
741 if ((
node->type != XML_TEXT_NODE) &&
742 (
node->type != XML_CDATA_SECTION_NODE))
746 switch (
node->type) {
747 case XML_ELEMENT_NODE:
748 case XML_CDATA_SECTION_NODE:
750 case XML_COMMENT_NODE:
759 "xsltTestStepMatch: unexpected step op %d\n",
814 oldCP = ctxt->
xpathCtxt->proximityPosition;
819 previous = (xmlNodePtr)
821 if ((previous !=
NULL) &&
822 (previous->parent ==
node->parent)) {
827 xmlNodePtr sibling =
node;
829 while (sibling !=
NULL) {
830 if (sibling == previous)
834 sibling = sibling->prev;
836 if (sibling ==
NULL) {
840 while (sibling !=
NULL) {
841 if (sibling == previous)
845 sibling = sibling->next;
848 if (sibling !=
NULL) {
870 xmlNodePtr siblings =
NULL;
874 while (siblings !=
NULL) {
875 if (siblings ==
node) {
881 siblings = siblings->next;
888 if (((
parent->type != XML_DOCUMENT_NODE) &&
889 (
parent->type != XML_HTML_DOCUMENT_NODE)) ||
901 if ((!isRVT) && (
node->doc !=
NULL) &&
910 oldNode = ctxt->
node;
917 ctxt->
xpathCtxt->proximityPosition = oldCP;
919 ctxt->
node = oldNode;
942 xmlNodePtr
node = matchNode;
949 "xsltTestCompMatch: null arg\n");
978 oldInst = ctxt->
inst;
991 if ((
node->type == XML_DOCUMENT_NODE) ||
992 (
node->type == XML_HTML_DOCUMENT_NODE) ||
993#ifdef LIBXML_DOCB_ENABLED
994 (
node->type == XML_DOCB_DOCUMENT_NODE) ||
996 (
node->type == XML_NAMESPACE_DECL))
1011 }
else if (
node->ns->href !=
NULL) {
1021 step = &comp->
steps[
i+1];
1034 if ((
node->type == XML_DOCUMENT_NODE) ||
1035 (
node->type == XML_HTML_DOCUMENT_NODE) ||
1036#ifdef LIBXML_DOCB_ENABLED
1037 (
node->type == XML_DOCB_DOCUMENT_NODE) ||
1039 (
node->type == XML_NAMESPACE_DECL))
1053 if ((
node->type == XML_ELEMENT_NODE) &&
1060 }
else if (
node->ns->href !=
NULL) {
1100 ctxt->
inst = oldInst;
1138 while (comp !=
NULL) {
1157 xmlXPathObjectPtr
list;
1159 if ((ctxt ==
NULL) || (comp ==
NULL))
1162 sel = &comp->
steps[0];
1166 xmlXPathFreeObject(
list);
1181#define CUR (*ctxt->cur)
1182#define SKIP(val) ctxt->cur += (val)
1183#define NXT(val) ctxt->cur[(val)]
1184#define CUR_PTR ctxt->cur
1186#define SKIP_BLANKS \
1187 while (xmlIsBlank_ch(CUR)) NEXT
1189#define CURRENT (*ctxt->cur)
1190#define NEXT ((*ctxt->cur) ? ctxt->cur++: ctxt->cur)
1193#define PUSH(op, val, val2, novar) \
1194 if (xsltCompMatchAdd(ctxt, ctxt->comp, (op), (val), (val2), (novar))) goto error;
1197 xsltSwapTopCompMatch(ctxt->comp);
1199#define XSLT_ERROR(X) \
1200 { xsltError(ctxt, __FILE__, __LINE__, X); \
1201 ctxt->error = (X); return; }
1203#define XSLT_ERROR0(X) \
1204 { xsltError(ctxt, __FILE__, __LINE__, X); \
1205 ctxt->error = (X); return(0); }
1242 }
else if (
CUR ==
'\'') {
1289 (
val ==
'.') || (
val ==
'-') ||
1320 int aid,
int novar,
xsltAxis axis) {
1326 "xsltCompileIdKeyPattern : ( expected\n");
1333 "xsltCompileIdKeyPattern : NodeTest expected\n");
1342 "xsltCompileIdKeyPattern : Literal expected\n");
1349 "xsltCompileIdKeyPattern : ) expected\n");
1360 "xsltCompileIdKeyPattern : NodeTest expected\n");
1369 "xsltCompileIdKeyPattern : Literal expected\n");
1376 "xsltCompileIdKeyPattern : , expected\n");
1386 "xsltCompileIdKeyPattern : Literal expected\n");
1393 "xsltCompileIdKeyPattern : ) expected\n");
1411 "xsltCompileIdKeyPattern : Literal expected\n");
1418 "xsltCompileIdKeyPattern : ) expected\n");
1432 "xsltCompileIdKeyPattern : ) expected\n");
1443 "xsltCompileIdKeyPattern : ) expected\n");
1454 "xsltCompileIdKeyPattern : ) expected\n");
1467 "xsltCompileIdKeyPattern : expecting 'key' or 'id' or node type\n");
1472 "xsltCompileIdKeyPattern : node type\n");
1528 goto parse_predicate;
1531 "xsltCompileStepPattern : Name expected\n");
1545 }
else if (
CUR ==
':') {
1558 "xsltCompileStepPattern : no namespace bound to prefix %s\n",
1582 "xsltCompileStepPattern : Name expected\n");
1601 "xsltCompileStepPattern : NodeTest expected\n");
1612 "xsltCompileStepPattern : 'child' or 'attribute' expected\n");
1620 goto parse_node_test;
1644 while (
CUR ==
'[') {
1654 else if (
CUR ==
']') {
1658 }
else if (
CUR ==
'"') {
1660 while ((
CUR != 0) && (
CUR !=
'"'))
1662 }
else if (
CUR ==
'\'') {
1664 while ((
CUR != 0) && (
CUR !=
'\''))
1671 "xsltCompileStepPattern : ']' expected\n");
1714 while ((
CUR != 0) && (
CUR !=
'|')) {
1715 if ((
CUR ==
'/') && (
NXT(1) ==
'/')) {
1721 }
else if (
CUR ==
'/') {
1752 if ((
CUR ==
'/') && (
NXT(1) ==
'/')) {
1761 }
else if (
CUR ==
'/') {
1768 if ((
CUR != 0) && (
CUR !=
'|')) {
1772 }
else if (
CUR ==
'*') {
1774 }
else if (
CUR ==
'@') {
1781 "xsltCompileLocationPathPattern : Name expected\n");
1786 if ((
CUR ==
'(') && !xmlXPathIsNodeType(
name)) {
1792 if ((
CUR ==
'/') && (
NXT(1) ==
'/')) {
1798 }
else if (
CUR ==
'/') {
1839 "xsltCompilePattern : NULL pattern\n");
1875 "xsltCompilePattern : NULL pattern\n");
1884 else if (previous !=
NULL)
1904#ifdef WITH_XSLT_DEBUG_PATTERN
1906 "xsltCompilePattern : parsing '%s'\n",
1917 "xsltCompilePattern : failed to compile '%s'\n",
1962#ifdef WITH_XSLT_DEBUG_PATTERN
1964 "xsltCompilePattern : parsed %s, default priority %f\n",
1973 "xsltCompilePattern : NULL pattern\n");
2045 cur->position =
cur->next->position + 1;
2059 "xsl:template: error duplicate name '%s'\n",
2072 "xsl:template: need to specify match or name attribute\n");
2128 "xsltAddTemplate: invalid compiled pattern\n");
2210 "xsltAddTemplate: invalid compiled pattern\n");
2215#ifdef WITH_XSLT_DEBUG_PATTERN
2218 "added pattern : '%s' mode '%s' priority %f\n",
2222 "added pattern : '%s' priority %f\n",
2234 if ((ctxt ==
NULL) || (contextNode ==
NULL)) {
2236 "Internal error in xsltComputeAllKeys(): "
2237 "Bad arguments.\n");
2245 if (contextNode->doc->_private !=
NULL)
2246 goto doc_info_mismatch;
2258 "Internal error in xsltComputeAllKeys(): "
2259 "The context's document info doesn't match the "
2260 "document info of the current result tree.\n");
2290 curstyle = ctxt->
style;
2295 while ((curstyle !=
NULL) && (curstyle !=
style)) {
2302 switch (
node->type) {
2303 case XML_ELEMENT_NODE:
2304 if (
node->name[0] ==
' ')
2307 case XML_ATTRIBUTE_NODE:
2311 case XML_DOCUMENT_NODE:
2312 case XML_HTML_DOCUMENT_NODE:
2314 case XML_CDATA_SECTION_NODE:
2315 case XML_COMMENT_NODE:
2316 case XML_ENTITY_REF_NODE:
2317 case XML_ENTITY_NODE:
2318 case XML_DOCUMENT_TYPE_NODE:
2319 case XML_DOCUMENT_FRAG_NODE:
2320 case XML_NOTATION_NODE:
2322 case XML_ELEMENT_DECL:
2323 case XML_ATTRIBUTE_DECL:
2324 case XML_ENTITY_DECL:
2325 case XML_NAMESPACE_DECL:
2326 case XML_XINCLUDE_START:
2327 case XML_XINCLUDE_END:
2356 switch (
node->type) {
2357 case XML_ELEMENT_NODE:
2358 if (
node->name[0] ==
' ')
2363 case XML_ATTRIBUTE_NODE: {
2370 case XML_DOCUMENT_NODE:
2371 case XML_HTML_DOCUMENT_NODE: {
2376 case XML_CDATA_SECTION_NODE:
2379 case XML_COMMENT_NODE:
2382 case XML_ENTITY_REF_NODE:
2383 case XML_ENTITY_NODE:
2384 case XML_DOCUMENT_TYPE_NODE:
2385 case XML_DOCUMENT_FRAG_NODE:
2386 case XML_NOTATION_NODE:
2388 case XML_ELEMENT_DECL:
2389 case XML_ATTRIBUTE_DECL:
2390 case XML_ENTITY_DECL:
2391 case XML_NAMESPACE_DECL:
2392 case XML_XINCLUDE_START:
2393 case XML_XINCLUDE_END:
2402 (
list->template->position >
ret->position)))) {
2414 if ((
node->type == XML_DOCUMENT_NODE) ||
2415 (
node->type == XML_HTML_DOCUMENT_NODE) ||
2416 (
node->type == XML_TEXT_NODE)) {
2422 (
list->template->position >
ret->position)))) {
2431 }
else if ((
node->type == XML_PI_NODE) ||
2432 (
node->type == XML_COMMENT_NODE)) {
2438 (
list->template->position >
ret->position)))) {
2456 (
list->template->position >
ret->position)))) {
void restart(int argc, const char *argv[])
_In_ fcb _In_ chunk _In_ uint64_t _In_ uint64_t _In_ bool _In_opt_ void _In_opt_ PIRP _In_ LIST_ENTRY * rollback
#define xmlIsCombiningQ(c)
#define xmlIsIdeographicQ(c)
#define xmlIsExtenderQ(c)
#define xmlIsBaseCharQ(c)
struct _xsltParserContext xsltParserContext
xsltStepStates * xsltStepStatesPtr
static xmlChar * xsltScanLiteral(xsltParserContextPtr ctxt)
static void xsltFreeParserContext(xsltParserContextPtr ctxt)
static void xsltCompileRelativePathPattern(xsltParserContextPtr ctxt, xmlChar *token, int novar)
static int xsltTestPredicateMatch(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp, xmlNodePtr node, xsltStepOpPtr step, xsltStepOpPtr sel)
int xsltAddTemplate(xsltStylesheetPtr style, xsltTemplatePtr cur, const xmlChar *mode, const xmlChar *modeURI)
static int xsltComputeAllKeys(xsltTransformContextPtr ctxt, xmlNodePtr contextNode)
static void xsltCompileIdKeyPattern(xsltParserContextPtr ctxt, xmlChar *name, int aid, int novar, xsltAxis axis)
static void xsltFreeCompMatchListEntry(void *payload, const xmlChar *name ATTRIBUTE_UNUSED)
static xsltCompMatchPtr xsltNewCompMatch(void)
static void xsltReverseCompMatch(xsltParserContextPtr ctxt, xsltCompMatchPtr comp)
static void xmlXPathFreeObjectWrapper(void *obj)
static xsltParserContextPtr xsltNewParserContext(xsltStylesheetPtr style, xsltTransformContextPtr ctxt)
xsltTemplatePtr xsltGetTemplate(xsltTransformContextPtr ctxt, xmlNodePtr node, xsltStylesheetPtr style)
xsltCompMatchPtr xsltCompilePattern(const xmlChar *pattern, xmlDocPtr doc, xmlNodePtr node, xsltStylesheetPtr style, xsltTransformContextPtr runtime)
static xsltCompMatchPtr xsltCompilePatternInternal(const xmlChar *pattern, xmlDocPtr doc, xmlNodePtr node, xsltStylesheetPtr style, xsltTransformContextPtr runtime, int novar)
static void xsltSwapTopCompMatch(xsltCompMatchPtr comp)
void xsltCleanupTemplates(xsltStylesheetPtr style ATTRIBUTE_UNUSED)
static int xsltCompMatchAdd(xsltParserContextPtr ctxt, xsltCompMatchPtr comp, xsltOp op, xmlChar *value, xmlChar *value2, int novar)
static xmlChar * xsltScanNCName(xsltParserContextPtr ctxt)
static int xsltTestCompMatchDirect(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp, xmlNodePtr node, xmlNsPtr *nsList, int nsNr)
static int xsltPatPushState(xsltTransformContextPtr ctxt, xsltStepStates *states, int step, xmlNodePtr node)
static void xsltCompileStepPattern(xsltParserContextPtr ctxt, xmlChar *token, int novar)
xsltStepState * xsltStepStatePtr
static int xsltTestStepMatch(xsltTransformContextPtr ctxt, xmlNodePtr node, xsltStepOpPtr step)
int xsltTestCompMatchList(xsltTransformContextPtr ctxt, xmlNodePtr node, xsltCompMatchPtr comp)
void xsltFreeCompMatchList(xsltCompMatchPtr comp)
static int xsltTestCompMatch(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp, xmlNodePtr matchNode, const xmlChar *mode, const xmlChar *modeURI)
void xsltCompMatchClearCache(xsltTransformContextPtr ctxt, xsltCompMatchPtr comp)
xsltParserContext * xsltParserContextPtr
void xsltNormalizeCompSteps(void *payload, void *data, const xmlChar *name ATTRIBUTE_UNUSED)
static void xsltCompileLocationPathPattern(xsltParserContextPtr ctxt, int novar)
static void xsltFreeCompMatch(xsltCompMatchPtr comp)
void xsltFreeTemplateHashes(xsltStylesheetPtr style)
#define PUSH(op, val, val2, novar)
xsltStepOp * xsltStepOpPtr
int WINAPIV fprintf(FILE *file, const char *format,...)
xsltDocumentPtr xsltNewDocument(xsltTransformContextPtr ctxt, xmlDocPtr doc)
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
GLdouble GLdouble GLdouble GLdouble q
GLdouble GLdouble GLdouble GLdouble top
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
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
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
xsltStylesheetPtr xsltNextImport(xsltStylesheetPtr cur)
xsltCompMatch * xsltCompMatchPtr
int xsltInitAllDocKeys(xsltTransformContextPtr ctxt)
xmlNodeSetPtr xsltGetKey(xsltTransformContextPtr ctxt, const xmlChar *name, const xmlChar *nameURI, const xmlChar *value)
struct task_struct * current
static DWORD DWORD DWORD DWORD * steps
static unsigned __int64 next
const xmlChar * xmlDictLookup(xmlDictPtr dict, const xmlChar *name, int len)
xmlReallocFunc xmlRealloc
void xmlHashFree(xmlHashTablePtr hash, xmlHashDeallocator dealloc)
void * xmlHashLookup2(xmlHashTablePtr hash, const xmlChar *key, const xmlChar *key2)
xmlHashTablePtr xmlHashCreate(int size)
int xmlHashUpdateEntry3(xmlHashTablePtr hash, const xmlChar *key, const xmlChar *key2, const xmlChar *key3, void *payload, xmlHashDeallocator dealloc)
int xmlHashAddEntry2(xmlHashTablePtr hash, const xmlChar *key, const xmlChar *key2, void *payload)
int xmlHashAddEntry3(xmlHashTablePtr hash, const xmlChar *key, const xmlChar *key2, const xmlChar *key3, void *payload)
void * xmlHashLookup3(xmlHashTablePtr hash, const xmlChar *key, const xmlChar *key2, const xmlChar *key3)
struct _xsltCompMatch * next
xsltTransformContextPtr ctxt
struct _xsltCompMatch * rootMatch
struct _xsltCompMatch * textMatch
struct _xsltCompMatch * elemMatch
struct _xsltCompMatch * piMatch
xmlHashTablePtr templatesHash
struct _xsltCompMatch * attrMatch
struct _xsltCompMatch * commentMatch
struct _xsltCompMatch * keyMatch
xmlXPathContextPtr xpathCtxt
int xsltEvalXPathPredicate(xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp, xmlNsPtr *nsList, int nsNr)
Character const *const prefix
XMLPUBFUN xmlAttrPtr xmlGetID(xmlDocPtr doc, const xmlChar *ID)
#define success(from, fromstr, to, tostr)
XMLPUBFUN xmlChar * xmlStrndup(const xmlChar *cur, int len)
XMLPUBFUN xmlChar * xmlStrcat(xmlChar *cur, const xmlChar *add)
XMLPUBFUN int xmlStrEqual(const xmlChar *str1, const xmlChar *str2)
XMLPUBFUN xmlChar * xmlStrdup(const xmlChar *cur)
#define XSLT_RUNTIME_EXTRA(ctxt, nr, typ)
#define XSLT_PAT_NO_PRIORITY
#define XSLT_RUNTIME_EXTRA_LST(ctxt, nr)
#define XSLT_RUNTIME_EXTRA_FREE(ctxt, nr)
#define XSLT_IS_RES_TREE_FRAG(n)
int xsltAllocateExtraCtxt(xsltTransformContextPtr ctxt)
int xsltAllocateExtra(xsltStylesheetPtr style)
const xmlChar * xsltGetQNameURI(xmlNodePtr node, xmlChar **name)
void xsltTransformError(xsltTransformContextPtr ctxt, xsltStylesheetPtr style, xmlNodePtr node, const char *msg,...)
xmlXPathCompExprPtr xsltXPathCompileFlags(xsltStylesheetPtr style, const xmlChar *str, int flags)
xmlGenericErrorFunc xsltGenericError
int xsltGetSourceNodeFlags(xmlNodePtr node)
xmlGenericErrorFunc xsltGenericDebug
int xsltGetUTF8CharZ(const unsigned char *utf, int *len)
void * xsltGenericDebugContext
void * xsltGenericErrorContext