Skip to content

Commit aa17d68

Browse files
committed
xsltLoadStylesheet from xmlTree
1 parent ee82dec commit aa17d68

2 files changed

Lines changed: 19 additions & 6 deletions

File tree

revxml/src/revxml.cpp

Lines changed: 18 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2702,11 +2702,24 @@ void XML_xsltLoadStylesheet(char *args[], int nargs, char **retstring, Bool *pas
27022702

27032703
if (1 == nargs)
27042704
{
2705-
cur = xsltParseStylesheetFile((const xmlChar *)args[0]);
2706-
result = (char *)malloc(INTSTRSIZE);
2707-
sprintf(result,"%d",cur);
2708-
*retstring = istrdup(result);
2709-
free(result);
2705+
int docID = atoi(args[0]);
2706+
CXMLDocument *xmlDocument = doclist.find(docID);
2707+
if (NULL != xmlDocument)
2708+
{
2709+
xmlDocPtr xmlDoc = xmlDocument->GetDocPtr();
2710+
if (NULL != xmlDoc)
2711+
{
2712+
cur = xsltParseStylesheetDoc(xmlDoc);
2713+
result = (char *)malloc(INTSTRSIZE);
2714+
sprintf(result,"%d",cur);
2715+
*retstring = istrdup(result);
2716+
free(result);
2717+
}
2718+
else
2719+
*retstring = istrdup(xmlerrors[XPATHERR_BADDOCPOINTER]);
2720+
}
2721+
else
2722+
*retstring = istrdup(xmlerrors[XMLERR_BADDOCID]);
27102723
}
27112724
else
27122725
*retstring = istrdup(xmlerrors[XMLERR_BADARGUMENTS]);

thirdparty

0 commit comments

Comments
 (0)