/* This file implements a XSLT engine working on Gdome documents. In fact,
* it just maps Gdome documents to libxml documents back and forth, and
- * applyes the transformation on libxml documents using libxlt.
+ * applies the transformation on libxml documents using libxlt.
*
* The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
* Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
* For more information, please send an email to {sacerdot,zack}@cs.unibo.it
*/
+#ifndef __gdome_xslt_h__
+#define __gdome_xslt_h__
+
+#include <gdome.h>
+#include <libxslt/xsltconfig.h>
+#include <libxslt/xslt.h>
+#include <libxslt/xsltutils.h>
+#include <libxslt/transform.h>
+#include <libxslt/imports.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif /* __cplusplus */
+
+ /******************************/
+ /* XSLT stylesheet Processing */
+ /******************************/
xsltStylesheetPtr processStylesheet (GdomeDocument* style);
+
+ /*******************************/
+ /* XSLT stylesheet Application */
+ /*******************************/
+
GdomeDocument* applyStylesheet (GdomeDocument* source,
xsltStylesheetPtr style_libxslt,
const char** params);
+ /******************/
+ /* Results Output */
+ /******************/
+
int saveResultToFilename (const char* name,
GdomeDocument* result,
xsltStylesheetPtr style_libxslt,
GdomeDocument* result,
xsltStylesheetPtr style_libxslt);
+ /**********************************************/
+ /* Error and Debugging Callbacks Registration */
+ /**********************************************/
+
+typedef void(*gdomeXsltMsgCallback)(const char *);
+
+void setErrorCallback (gdomeXsltMsgCallback callback);
+void setDebugCallback (gdomeXsltMsgCallback callback);
+
+#ifdef __cplusplus
+}
+#endif /* __cplusplus */
+
+#endif /* __gdome_xslt_h__ */