]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.c
implemented saveResultToChannel
[helm.git] / helm / DEVEL / gdome_xslt / ocaml / gdome_xslt / ml_gdome_xslt.c
index e9af428a3bcb02fc5cee35825382f28feaee11d0..b6330868f99077805710a162459e80d38938a921 100644 (file)
@@ -4,7 +4,9 @@
  * 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 <sacerdot@cs.unibo.it>
+ * Copyright (C) 2002:
+ *     Claudio Sacerdoti Coen  <sacerdot@cs.unibo.it>
+ *     Stefano Zacchiroli      <zack@cs.unibo.it>
  * 
  * This library is free software; you can redistribute it and/or
  * modify it under the terms of the GNU Lesser General Public
@@ -20,7 +22,7 @@
  * 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 <sacerdot@cs.unibo.it>
+ * For more information, please send an email to {sacerdot,zack}@cs.unibo.it
  */
 
 #include <assert.h>
@@ -32,6 +34,7 @@
 #include <libxslt/xsltconfig.h>
 #include <libxslt/imports.h>
 
+#include "ocaml-io.h"
 #include "mlgdomevalue.h"
 #include "gdome_xslt.h"
 
@@ -124,3 +127,17 @@ value ml_applyStylesheet(value source, value style, value params)
    }
    CAMLreturn(Val_Document(res));
 }
+
+value ml_saveResultToChannel(value channel,
+                            value result,
+                            value stylesheet)
+{
+       CAMLparam3(channel, result, stylesheet);
+
+       saveResultToFd((Channel(channel))->fd,
+                     Document_val(result),
+                     XsltStylesheetPtr_val(stylesheet));
+
+       CAMLreturn0;
+}
+