46#include <libxml/debugXML.h>
47#include <libxml/xmlIO.h>
48#include <libxml/parserInternals.h>
50#include <libexslt/exsltconfig.h>
55#pragma comment(lib, "ws2_32.lib")
56#define gettimeofday(p1,p2)
66# define stat(x,y) _stat(x,y)
72xmlParserInputPtr xmlNoNetExternalEntityLoader(
const char *URL,
74 xmlParserCtxtPtr ctxt);
77XSLTProc::XSLTProc(
const char* fileIn,
const char* fileOut,
const char* xsltsheet)
81 _stylesheet = xsltsheet;
90XSLTProc::XSLTProc(TQString fileIn, TQString fileOut, TQString xsltsheet)
92 _fileIn = TQFile::encodeName(fileIn);
93 _fileOut = TQFile::encodeName(fileOut);
94 _stylesheet = TQFile::encodeName(xsltsheet);
111XSLTProc::xsltProcess(xmlDocPtr doc, xsltStylesheetPtr cur,
const char *filename)
122 for (j = 1; j < repeat; j++)
124 res = xsltApplyStylesheet(cur, doc, params);
127 doc = xmlParseFile(filename);
130 res = xsltApplyStylesheet(cur, doc, params);
135 fprintf(stderr,
"no result for %s\n", filename);
138#ifdef LIBXML_DEBUG_ENABLED
140 xmlDebugDumpDocument(stdout, res);
144 if (cur->methodURI == NULL)
146 xsltSaveResultToFile(stdout, res, cur);
151 (cur->method, (
const xmlChar *)
"xhtml"))
153 fprintf(stderr,
"non standard output xhtml\n");
154 xsltSaveResultToFile(stdout, res, cur);
159 "Unsupported non standard output %s\n",
163#ifdef LIBXML_DEBUG_ENABLED
170 xsltRunStylesheet(cur, doc, params, output, NULL, NULL);
205void XSLTProc::addParam(TQString name, TQString value)
207 if(nbparams < NB_PARAMETER_MAX)
209 params[nbparams] = strdup(name.latin1());
210 params[nbparams + 1] = strdup(value.latin1());
211 fprintf(stderr,
"%s => ", params[0]);
212 fprintf(stderr,
"%s\n", params[1]);
213 nbparams = nbparams + 2;
220 xsltStylesheetPtr cur = NULL;
221 xmlDocPtr doc, style;
230 xmlLoadExtDtdDefaultValue = XML_DETECT_IDS | XML_COMPLETE_ATTRS;
232 xmlLoadExtDtdDefaultValue = 0;
236 novalid = novalid + 1;
240 params[nbparams] = NULL;
245 xmlSubstituteEntitiesDefault(1);
251 xsltRegisterTestModule();
254 style = xmlParseFile((
const char *) _stylesheet);
257 fprintf(stderr,
"cannot parse %s\n", _stylesheet.data());
262 cur = xsltLoadStylesheetPI(style);
266 xsltProcess(style, cur, _stylesheet);
267 xsltFreeStylesheet(cur);
270 cur = xsltParseStylesheetDoc(style);
273 if (cur->indent == 1)
274 xmlIndentTreeOutput = 1;
276 xmlIndentTreeOutput = 0;
289 xmlDefaultSAXHandlerInit();
290#if LIBXML_VERSION < 21300
293 xmlDefaultSAXHandler.cdataBlock = NULL;
296 if ((cur != NULL) && (cur->errors == 0))
299 doc = xmlParseFile(_fileIn);
301 fprintf(stderr,
"unable to parse %s\n", _fileIn.data());
303 xsltProcess(doc, cur, _fileIn);
306 xsltFreeStylesheet(cur);
308 xsltCleanupGlobals();