--- /dev/null
+(* This file is part of an ocaml binding of an XSLT engine working on Gdome
+ * documents.
+ *
+ * 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>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy 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>
+ *)
+
+let domImpl = Gdome.domImplementation () in
+ let input =
+ domImpl#createDocumentFromURI ~uri:"../../test_files/input.xml" ()
+ and style =
+ domImpl#createDocumentFromURI ~uri:"../../test_files/stylesheet.xsl" ()
+ in
+ (* First of all, let's try the exception handling machinery *)
+ let _ =
+ try
+ ignore (Gdome_xslt.processStylesheet input) ;
+ assert false (* previous line should rise an exception *)
+ with
+ Gdome_xslt_init.ProcessStylesheetException -> ()
+ in
+ let pstyle = Gdome_xslt.processStylesheet style in
+ let output =
+ Gdome_xslt.applyStylesheet input pstyle
+ ["parameter1","'value1'" ;
+ "parameter2","'value2'" ;
+ "parameter3","'value3'"
+ ]
+ in
+ let res =
+ domImpl#saveDocumentToFile ~doc:output ~name:"../../test_files/output.xml"
+ ()
+ in
+ if not res then
+ prerr_endline "Error saving to document ../../test_files/output.xml"
+ else
+ begin
+ print_endline
+ "The test was successful iff ../../test_files/output.xml.correct is" ;
+ print_endline "equal to ../../test_files/output.xml"
+ end
+;;