XSLT Extension Function Implementation

I am trying to create xslt extension function for libxslt (c++). My extension function takes a string as input, then this string parsed by xml parser, and function returns this parsed xml. I return value by this expression:

void fnParse(xmlXPathParserContextPtr ctx, int nargs)
{
    ...
    xmlXPathReturnNodeSet(ctx, xmlXPathNodeSetCreate(node));
}

But I have found that libxslt does not free node memory after use. It free xmlNodeSet, but not free the node which stored in this nodeset. Perhaps I missed something important. What is the correct way to return an XML node in extension function?

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.