* xsltDefaultProcessOneNode:
* @ctxt: a XSLT process context
* @node: the node in the source tree.
+ * @params: extra parameters passed to the template if any
*
* Process the source node with the default built-in template rule:
* <xsl:template match="*|/">
* for namespace nodes.
*/
static void
-xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node) {
+xsltDefaultProcessOneNode(xsltTransformContextPtr ctxt, xmlNodePtr node,
+ xsltStackElemPtr params) {
xmlNodePtr copy;
xmlAttrPtr attrs;
xmlNodePtr delete = NULL, cur;
template = xsltGetTemplate(ctxt, (xmlNodePtr) attrs, NULL);
if (template) {
xsltApplyOneTemplate(ctxt, (xmlNodePtr) attrs,
- template->content, template, NULL);
+ template->content, template, params);
}
attrs = attrs->next;
}
case XML_ELEMENT_NODE:
ctxt->xpathCtxt->contextSize = nbchild;
ctxt->xpathCtxt->proximityPosition = childno;
- xsltProcessOneNode(ctxt, cur, NULL);
+ xsltProcessOneNode(ctxt, cur, params);
break;
case XML_CDATA_SECTION_NODE:
template = xsltGetTemplate(ctxt, cur, NULL);
cur->content);
#endif
xsltApplyOneTemplate(ctxt, cur, template->content,
- template, NULL);
+ template, params);
} else /* if (ctxt->mode == NULL) */ {
#ifdef WITH_XSLT_DEBUG_PROCESS
xsltGenericDebug(xsltGenericDebugContext,
ctxt->xpathCtxt->contextSize = nbchild;
ctxt->xpathCtxt->proximityPosition = childno;
xsltApplyOneTemplate(ctxt, cur, template->content,
- template, NULL);
+ template, params);
} else /* if (ctxt->mode == NULL) */ {
#ifdef WITH_XSLT_DEBUG_PROCESS
if (cur->content == NULL)
ctxt->xpathCtxt->contextSize = nbchild;
ctxt->xpathCtxt->proximityPosition = childno;
xsltApplyOneTemplate(ctxt, cur, template->content,
- template, NULL);
+ template, params);
}
break;
default:
#endif
oldNode = ctxt->node;
ctxt->node = node;
- xsltDefaultProcessOneNode(ctxt, node);
+ xsltDefaultProcessOneNode(ctxt, node, params);
ctxt->node = oldNode;
return;
}