]> matita.cs.unibo.it Git - helm.git/blob - helm/DEVEL/gdome_xslt/ocaml/test/test.ml
Initial version.
[helm.git] / helm / DEVEL / gdome_xslt / ocaml / test / test.ml
1 (* This file is part of an ocaml binding of an XSLT engine working on Gdome
2  * documents.
3  * 
4  * The code is largely based on the code of T.J. Mather's XML::GDOME::XSLT
5  * Perl module (http://kobesearch.cpan.org/search?dist=XML-GDOME-XSLT)
6  *
7  * Copyright (C) 2002 Claudio Sacerdoti Coen <sacerdot@cs.unibo.it>
8  * 
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13  * 
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Lesser General Public License for more details.
18  * 
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
22  *
23  * For more information, please send an email to <sacerdot@cs.unibo.it>
24  *)
25
26 let domImpl = Gdome.domImplementation () in
27  let input =
28   domImpl#createDocumentFromURI ~uri:"../../test_files/input.xml" ()
29  and style =
30   domImpl#createDocumentFromURI ~uri:"../../test_files/stylesheet.xsl" ()
31  in
32   (* First of all, let's try the exception handling machinery *)
33   let _ =
34    try
35     ignore (Gdome_xslt.processStylesheet input) ;
36     assert false (* previous line should rise an exception *)
37    with
38     Gdome_xslt_init.ProcessStylesheetException -> ()
39   in
40   let pstyle = Gdome_xslt.processStylesheet style in
41    let output =
42     Gdome_xslt.applyStylesheet input pstyle
43      ["parameter1","'value1'" ;
44       "parameter2","'value2'" ;
45       "parameter3","'value3'"
46      ]
47    in
48     let res =
49      domImpl#saveDocumentToFile ~doc:output ~name:"../../test_files/output.xml"
50       ()
51     in
52      if not res then
53       prerr_endline "Error saving to document ../../test_files/output.xml"
54      else
55       begin
56        print_endline
57         "The test was successful iff ../../test_files/output.xml.correct is" ;
58        print_endline "equal to ../../test_files/output.xml"
59       end
60 ;;