X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2FDEVEL%2Fgdome_xslt%2FC%2Fgdome_xslt%2Fgdome_xslt.h;h=383208770f57e6fc03721a3e273aebb5ad1ac8ba;hb=4167cea65ca58897d1a3dbb81ff95de5074700cc;hp=7ae286d826a554f5c0014e1892d6b98872017684;hpb=0474bcec6d3bb8972eec0964a34872712122f340;p=helm.git diff --git a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.h b/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.h index 7ae286d82..383208770 100644 --- a/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.h +++ b/helm/DEVEL/gdome_xslt/C/gdome_xslt/gdome_xslt.h @@ -1,11 +1,14 @@ + /* 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) * - * Copyright (C) 2002 Claudio Sacerdoti Coen + * Copyright (C) 2002: + * Claudio Sacerdoti Coen + * Stefano Zacchiroli * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -21,10 +24,64 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * - * For more information, please send an email to + * For more information, please send an email to {sacerdot,zack}@cs.unibo.it */ +#ifndef __gdome_xslt_h__ +#define __gdome_xslt_h__ + +#include +#include +#include +#include +#include +#include + +#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, + int compression); +int saveResultToFile (FILE* file, + GdomeDocument* result, + xsltStylesheetPtr style_libxslt); +int saveResultToFd (int fd, + GdomeDocument* result, + xsltStylesheetPtr style_libxslt); + + /**********************************************/ + /* Error and Debugging Callbacks Registration */ + /**********************************************/ + +typedef void(*gdomeXsltMsgCallback)(const char *); + +void setErrorCallback (gdomeXsltMsgCallback callback); +void setDebugCallback (gdomeXsltMsgCallback callback); -xsltStylesheetPtr processStylesheet(GdomeDocument* style); +#ifdef __cplusplus +} +#endif /* __cplusplus */ -GdomeDocument* applyStylesheet(GdomeDocument* source, xsltStylesheetPtr style_libxslt, const char** params); +#endif /* __gdome_xslt_h__ */