16 #ifdef WITH_XSLT_DEBUG 17 #define WITH_XSLT_DEBUG_TEMPLATES 42 xmlXPathObjectPtr
res;
46 int oldProximityPosition, oldContextSize;
50 "xsltEvalXPathPredicate: No context or instruction\n");
54 oldContextSize = ctxt->
xpathCtxt->contextSize;
55 oldProximityPosition = ctxt->
xpathCtxt->proximityPosition;
57 oldNamespaces = ctxt->
xpathCtxt->namespaces;
68 xmlXPathFreeObject(
res);
69 #ifdef WITH_XSLT_DEBUG_TEMPLATES 71 "xsltEvalXPathPredicate: returns %d\n",
ret));
74 #ifdef WITH_XSLT_DEBUG_TEMPLATES 76 "xsltEvalXPathPredicate: failed\n"));
83 ctxt->
xpathCtxt->namespaces = oldNamespaces;
85 ctxt->
xpathCtxt->contextSize = oldContextSize;
86 ctxt->
xpathCtxt->proximityPosition = oldProximityPosition;
108 xmlXPathObjectPtr
res;
117 "xsltEvalXPathStringNs: No context or instruction\n");
121 oldInst = ctxt->
inst;
122 oldNode = ctxt->
node;
123 oldPos = ctxt->
xpathCtxt->proximityPosition;
126 oldNamespaces = ctxt->
xpathCtxt->namespaces;
134 if (
res->type != XPATH_STRING)
135 res = xmlXPathConvertString(
res);
136 if (
res->type == XPATH_STRING) {
141 "xpath : string() function didn't return a String\n");
143 xmlXPathFreeObject(
res);
147 #ifdef WITH_XSLT_DEBUG_TEMPLATES 149 "xsltEvalXPathString: returns %s\n",
ret));
151 ctxt->
inst = oldInst;
152 ctxt->
node = oldNode;
154 ctxt->
xpathCtxt->proximityPosition = oldPos;
156 ctxt->
xpathCtxt->namespaces = oldNamespaces;
196 if ((ctxt ==
NULL) || (contextNode ==
NULL) || (inst ==
NULL) ||
213 "Failed to create temporary node\n");
268 if (*(
cur+1) ==
'{') {
278 while ((*
cur != 0) && (*
cur !=
'}')) {
280 if ((*
cur ==
'\'') || (*
cur ==
'"')) {
281 char delim = *(
cur++);
282 while ((*
cur != 0) && (*
cur != delim))
291 "xsltAttrTemplateValueProcessNode: unmatched '{'\n");
299 else if (*
expr ==
'{') {
303 xmlXPathCompExprPtr comp;
307 if ((nsList ==
NULL) && (inst !=
NULL)) {
310 nsList = xmlGetNsList(inst->
doc, inst);
311 if (nsList !=
NULL) {
312 while (nsList[
i] !=
NULL)
319 xmlXPathFreeCompExpr(comp);
328 }
else if (*
cur ==
'}') {
337 "xsltAttrTemplateValueProcessNode: unmatched '}'\n");
405 #ifdef WITH_XSLT_DEBUG_TEMPLATES 407 "xsltEvalAttrValueTemplate: %s returns %s\n",
expr,
ret));
487 #ifdef XSLT_REFACTORED 488 if (
attr->psvi == xsltXSLTAttrMarker)
502 "Internal error: The children of an attribute node of a " 503 "literal result element are not in the expected form.\n");
570 "Internal error: Failed to evaluate the AVT " 571 "of attribute '{%s}%s'.\n",
575 "Internal error: Failed to evaluate the AVT " 576 "of attribute '%s'.\n",
595 "Internal error: Failed to create attribute '{%s}%s'.\n",
599 "Internal error: Failed to create attribute '%s'.\n",
649 #ifdef XSLT_REFACTORED 650 if ((
attr->psvi == xsltXSLTAttrMarker) &&
678 #ifdef XSLT_REFACTORED 679 if (
attr->psvi == xsltXSLTAttrMarker) {
697 "Internal error: The children of an attribute node of a " 698 "literal result element are not in the expected form.\n");
710 if (
attr->ns != origNs) {
713 #ifdef XSLT_REFACTORED 757 "Internal error: Failed to create attribute '{%s}%s'.\n",
761 "Internal error: Failed to create attribute '%s'.\n",
781 if (valueAVT ==
NULL) {
788 "Internal error: Failed to evaluate the AVT " 789 "of attribute '{%s}%s'.\n",
793 "Internal error: Failed to evaluate the AVT " 794 "of attribute '%s'.\n",
800 text->content = valueAVT;
821 return(
target->properties);
xmlAttrPtr xsltAttrTemplateProcess(xsltTransformContextPtr ctxt, xmlNodePtr target, xmlAttrPtr attr)
XMLPUBFUN xmlAttrPtr XMLCALL xmlNewDocProp(xmlDocPtr doc, const xmlChar *name, const xmlChar *value)
XMLPUBFUN xmlChar *XMLCALL xmlStrndup(const xmlChar *cur, int len)
XMLPUBFUN void XMLCALL xmlFreeNodeList(xmlNodePtr cur)
xmlNsPtr xsltGetNamespace(xsltTransformContextPtr ctxt, xmlNodePtr cur, xmlNsPtr ns, xmlNodePtr out)
int xsltEvalXPathPredicate(xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp, xmlNsPtr *nsList, int nsNr)
xmlNsPtr xsltGetSpecialNamespace(xsltTransformContextPtr ctxt, xmlNodePtr invocNode, const xmlChar *nsName, const xmlChar *nsPrefix, xmlNodePtr target)
XMLPUBFUN const xmlChar *XMLCALL xmlStrchr(const xmlChar *str, xmlChar val)
xmlChar * xsltEvalAttrValueTemplate(xsltTransformContextPtr ctxt, xmlNodePtr inst, const xmlChar *name, const xmlChar *ns)
xmlChar * xsltAttrTemplateValueProcess(xsltTransformContextPtr ctxt, const xmlChar *str)
#define next_attribute(a)
XMLPUBFUN xmlChar *XMLCALL xmlStrcat(xmlChar *cur, const xmlChar *add)
xmlChar * xsltEvalAVT(xsltTransformContextPtr ctxt, void *avt, xmlNodePtr node)
xmlXPathContextPtr xpathCtxt
xmlNodePtr * xsltTemplateProcess(xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED, xmlNodePtr node)
xmlChar * xsltEvalXPathString(xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp)
void * xsltGenericDebugContext
XMLPUBFUN xmlChar *XMLCALL xmlStrncat(xmlChar *cur, const xmlChar *add, int len)
xmlChar * xsltAttrTemplateValueProcessNode(xsltTransformContextPtr ctxt, const xmlChar *str, xmlNodePtr inst)
XMLPUBVAR xmlFreeFunc xmlFree
const xmlChar * xsltEvalStaticAttrValueTemplate(xsltStylesheetPtr style, xmlNodePtr inst, const xmlChar *name, const xmlChar *ns, int *found)
XMLPUBFUN const xmlChar *XMLCALL xmlDictLookup(xmlDictPtr dict, const xmlChar *name, int len)
xmlGenericErrorFunc xsltGenericDebug
void xsltApplyAttributeSet(xsltTransformContextPtr ctxt, xmlNodePtr node, xmlNodePtr inst, const xmlChar *attrSets)
XMLPUBFUN int XMLCALL xmlIsID(xmlDocPtr doc, xmlNodePtr elem, xmlAttrPtr attr)
XMLPUBFUN xmlAttrPtr XMLCALL xmlNewNsProp(xmlNodePtr node, xmlNsPtr ns, const xmlChar *name, const xmlChar *value)
xmlAttrPtr xsltAttrListTemplateProcess(xsltTransformContextPtr ctxt, xmlNodePtr target, xmlAttrPtr attrs)
GLsizei const GLfloat * value
XMLPUBFUN xmlIDPtr XMLCALL xmlAddID(xmlValidCtxtPtr ctxt, xmlDocPtr doc, const xmlChar *value, xmlAttrPtr attr)
#define XSLT_TRACE(ctxt, code, call)
XMLPUBFUN xmlNodePtr XMLCALL xmlNewText(const xmlChar *content)
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
XMLPUBFUN xmlChar *XMLCALL xmlNodeGetContent(const xmlNode *cur)
XMLPUBFUN int XMLCALL xmlDictOwns(xmlDictPtr dict, const xmlChar *str)
INT copy(TCHAR source[MAX_PATH], TCHAR dest[MAX_PATH], INT append, DWORD lpdwFlags, BOOL bTouch)
XMLPUBFUN xmlNodePtr XMLCALL xmlNewDocNode(xmlDocPtr doc, xmlNsPtr ns, const xmlChar *name, const xmlChar *content)
XMLPUBFUN void XMLCALL xmlFreeNode(xmlNodePtr cur)
struct _xmlNode * children
xmlChar * xsltEvalTemplateString(xsltTransformContextPtr ctxt, xmlNodePtr contextNode, xmlNodePtr inst)
xmlChar * xsltEvalXPathStringNs(xsltTransformContextPtr ctxt, xmlXPathCompExprPtr comp, int nsNr, xmlNsPtr *nsList)
xmlChar * xsltGetNsProp(xmlNodePtr node, const xmlChar *name, const xmlChar *nameSpace)
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)