/* * extra.c: Implementation of non-standard features * * Reference: * Michael Kay "XSLT Programmer's Reference" pp 637-643 * The node-set() extension function * * See Copyright for the status of this software. * * [email protected] */ #define IN_LIBXSLT #include "libxslt.h" #include <string.h> #include <stdlib.h> #include <libxml/xmlmemory.h> #include <libxml/tree.h> #include <libxml/hash.h> #include <libxml/xmlerror.h> #include <libxml/parserInternals.h> #include "xslt.h" #include "xsltInternals.h" #include "xsltutils.h" #include "extensions.h" #include "variables.h" #include "transform.h" #include "extra.h" #include "preproc.h" #ifdef WITH_XSLT_DEBUG #define WITH_XSLT_DEBUG_EXTRA #endif /************************************************************************ * * * Handling of XSLT debugging * * * ************************************************************************/ /** * xsltDebug: * @ctxt: an XSLT processing context * @node: The current node * @inst: the instruction in the stylesheet * @comp: precomputed information * * Process an debug node */ void xsltDebug(xsltTransformContextPtr ctxt, xmlNodePtr node ATTRIBUTE_UNUSED, xmlNodePtr inst ATTRIBUTE_UNUSED, xsltElemPreCompPtr comp ATTRIBUTE_UNUSED) { … } /************************************************************************ * * * Classic extensions as described by M. Kay * * * ************************************************************************/ /** * xsltFunctionNodeSet: * @ctxt: the XPath Parser context * @nargs: the number of arguments * * Implement the node-set() XSLT function * node-set node-set(result-tree) * * This function is available in libxslt, saxon or xt namespace. */ void xsltFunctionNodeSet(xmlXPathParserContextPtr ctxt, int nargs){ … } /** * xsltRegisterExtras: * @ctxt: a XSLT process context * * Registers the built-in extensions. This function is deprecated, use * xsltRegisterAllExtras instead. */ void xsltRegisterExtras(xsltTransformContextPtr ctxt ATTRIBUTE_UNUSED) { … } /** * xsltRegisterAllExtras: * * Registers the built-in extensions */ void xsltRegisterAllExtras (void) { … }