[xslt] XSLT Document Handling Question

Hello Daniel, all,

I have an extension element that I am writing that essentialy pumps the
result of transforming it's children to a web browser, i.e

 <head><title><xsl:value-of select="/*/@title"/></title></head>

The way I implement this is the extension element as shown below
1.  Creates a new document
2.  adds the document to the transform context using xsltNewDocument()
3.  Changes the context->insert to the new document
4.  calls xsltApplyOneTemplate on the node's children
5.  restore the old insert pointer

My question is:  Before I leave the extension function I want to free up the
new document as it won't be used anywhere else.  Is it safe to manually
remove it from the ctxt->docList then call xmlFreeDoc?  or does this doc
need to remain in the docList until it is free'ed by xsltFreeStylesheet?



xmlDocPtr doc = xmlNewDoc(_X"1.0");
if (!doc)	{
	theLog.writeLog(nsCLog::error,"gss:int : Failed to create new

xmlNodePtr oldInsert;

oldInsert = ctxt->insert;
ctxt->insert = (xmlNodePtr)doc;
xsltApplyOneTemplate (ctxt, node,inst->children, NULL, NULL);
ctxt->insert = oldInsert;

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]