]> matita.cs.unibo.it Git - helm.git/commitdiff
implemented saveResultToChannel
authorStefano Zacchiroli <zack@upsilon.cc>
Fri, 29 Nov 2002 11:26:58 +0000 (11:26 +0000)
committerStefano Zacchiroli <zack@upsilon.cc>
Fri, 29 Nov 2002 11:26:58 +0000 (11:26 +0000)
helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.ml
helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt.mli
helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.ml
helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/gdome_xslt_init.mli
helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/i_gdome_xslt.ml
helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.c
helm/DEVEL/gdome_xslt/ocaml/gdome_xslt/ml_gdome_xslt.h

index 6ca611cb36e0c320a2ffb9e089da4d1554254d48..aa05777ab5d8d20a3bc985089dd789f3d7d47469 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
  *)
 
 let processStylesheet style =
@@ -34,3 +36,11 @@ let applyStylesheet ~source ~stylesheet ~params =
  in
   new Gdome.document res
 ;;
+
+let saveResultToChannel ~outchan ~result ~stylesheet =
+  I_gdome_xslt.saveResultToChannel
+    ~outchan
+    ~result:result#as_Document
+    ~stylesheet
+;;
+
index a67fdd61e9eacbc066067936465232af5ba02d91..3c7c232ec044b236b7e1c7eb8a69f644266992ca 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
  * 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
  *)
 
-(* processStylesheet stylesheet                             *)
-(* Process a stylesheet so that it can be subsequently used *)
-(* with applyStylesheet.                                    *)
-val processStylesheet :
- Gdome.document -> I_gdome_xslt.processed_stylesheet
+(* processStylesheet stylesheet                               *)
+(* Process a stylesheet so that it can be subsequently used   *)
+(* with applyStylesheet.                                      *)
+val processStylesheet:
+ Gdome.document ->
+   I_gdome_xslt.processed_stylesheet
 
 (* applyStylesheet source stylesheet params                   *)
 (* Applies a processed stylesheet to a source document, using *)
 (* the given list of parameters (couples name,value)          *)
-val applyStylesheet :
+val applyStylesheet:
  source: Gdome.document ->
  stylesheet:I_gdome_xslt.processed_stylesheet ->
- params:(string * string) list -> Gdome.document
+ params:(string * string) list ->
+   Gdome.document
+
+(* output the result of a previous XSLT transformation to an  *)
+(* output channel                                             *)
+val saveResultToChannel:
+  outchan: out_channel ->
+  result: Gdome.document ->
+  stylesheet: I_gdome_xslt.processed_stylesheet ->
+    unit
+
index 447f6c510ee8756296e1baebe6aec8de7083417b..e7da4e02dc4525cb10ffe7d1ef993f78c2cc02a8 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
  *)
 
 exception ProcessStylesheetException
index 2d52787914105c17d9459e1b5ebba7173d4138f5..d3e6d670e3f3904ee552b76dc95ce41e45e27f63 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
  *)
 
 (**************************** WARNING!!! ***********************************)
index c4f25e6c8d83d4ed9e20ec65b87df75ef1b9528d..92f74da39c74ecfb6d8d339f6d6fbc07af0ad945 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
  * 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
  *)
 
 type processed_stylesheet
 
-external setXsltMaxDepth : int -> unit = "setXsltMaxDepth"
+external setXsltMaxDepth:
+  int ->
+    unit
+  = "setXsltMaxDepth"
+
+external processStylesheet:
+  [> `Document] GdomeT.t ->
+    processed_stylesheet
+  = "ml_processStylesheet"
+
+external applyStylesheet:
+  source: [> `Document] GdomeT.t ->
+  stylesheet: processed_stylesheet ->
+  params: (string * string) list ->
+    TDocument.t
+  = "ml_applyStylesheet"
+
+external saveResultToChannel:
+  outchan: out_channel ->
+  result: TDocument.t ->
+  stylesheet: processed_stylesheet ->
+    unit
+  = "ml_saveResultToChannel"
 
-external processStylesheet: [> `Document] GdomeT.t -> processed_stylesheet = "ml_processStylesheet"
-external applyStylesheet : source:[> `Document] GdomeT.t -> stylesheet:processed_stylesheet -> params:(string * string) list -> TDocument.t = "ml_applyStylesheet"
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;
+}
+
index 6f12e4b11e4aa2dd9beef121d921ff4204f9d58f..974ad7d1438693ef0980d2fdff0efa7a469738a1 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
  */
 
 xsltStylesheetPtr XsltStylesheetPtr_val(value);
@@ -28,3 +30,6 @@ value Val_XsltStylesheetPtr(xsltStylesheetPtr);
 
 value ml_processStylesheet(value style);
 value ml_applyStylesheet(value source, value style, value params);
+
+value ml_saveResultToChannel(value channel, value result, value stylesheet);
+