]> matita.cs.unibo.it Git - helm.git/blob - helm/interface/xsltProcessor.ml
- the mathql interpreter is not helm-dependent any more
[helm.git] / helm / interface / xsltProcessor.ml
1 (* Copyright (C) 2000, HELM Team.
2  * 
3  * This file is part of HELM, an Hypertextual, Electronic
4  * Library of Mathematics, developed at the Computer Science
5  * Department, University of Bologna, Italy.
6  * 
7  * HELM is free software; you can redistribute it and/or
8  * modify it under the terms of the GNU General Public License
9  * as published by the Free Software Foundation; either version 2
10  * of the License, or (at your option) any later version.
11  * 
12  * HELM is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with HELM; if not, write to the Free Software
19  * Foundation, Inc., 59 Temple Place - Suite 330, Boston,
20  * MA  02111-1307, USA.
21  * 
22  * For details, see the HELM World-Wide-Web page,
23  * http://cs.unibo.it/helm/.
24  *)
25
26 let initialize () =
27  Printf.printf "Initializing the UWOBO servlet, please wait" ; flush stdout ;
28  Hashtbl.iter
29   (fun key uri ->
30     let string_to_send = (Configuration.processor_url ^ "add?xsluri=" ^ Configuration.getter_url ^ "getxslt?uri=" ^ uri ^ "&key=" ^ key)
31     in
32      print_char '.' ; flush stdout ;
33      ClientHTTP.send string_to_send
34   )
35   StyleConfiguration.styles ;
36  Printf.printf " ok\n" ; flush stdout
37 ;;
38
39 (* CSC: esempio per vedere se veniva calcolata bene. Rimuovere pure il commento
40 http://phd.cs.unibo.it:8080/helm/servlet/uwobo/apply?xmluri=http%3A//phd.cs.unibo.it%3A8081/getxml%3Furi%3Dcic%3A/Coq/Init/Datatypes/nat_ind.con&keys=C1,C2,L&param.processorURL=http%3A//phd.cs.unibo.it%3A8080/helm/servlet/uwobo/&param.getterURL=http%3A//phd.cs.unibo.it%3A8081/&prop.doctype-public=&prop.encoding=&prop.media-type=text/xml&param.doctype-public=&param.encoding=&param.media-type=text/xml&param.keys=C1%2CC2%2CL&param.CICURI=cic:/Coq/Init/Datatypes/nat_ind.con&param.naturalLanguage=yes&param.annotations=NO
41
42
43 &keys=C1,C2,L
44 *)
45
46 let process uri usecache mode naturalLanguage annotations =
47  let uri = UriManager.string_of_uri uri in
48  let url = Configuration.getter_url ^ "getxml?uri=" ^ uri in
49  let keys =
50   match StyleConfiguration.key_list_of_mode_name mode with
51     first_key::key_list ->
52      first_key ^
53      (List.fold_right
54       (fun key cmd -> "," ^ key ^ cmd)
55        key_list
56        ""
57       ) 
58   | _ -> prerr_string "Warning: the list of keys for UWOBO is empty\n"; ""
59  in
60  let string_to_send =
61   Configuration.processor_url ^ "apply?xmluri=" ^ url ^
62   "&param.processorURL=" ^ Configuration.processor_url ^
63   "&param.getterURL=" ^ Configuration.getter_url ^
64   "&prop.doctype-public=&prop.encoding=&prop.media-type=text/xml" ^
65   "&keys=" ^ keys ^
66   "&param.keys=" ^ keys ^
67   "&param.CICURI=" ^ uri ^
68   "&param.naturalLanguage=" ^ naturalLanguage ^
69   "&param.annotations=" ^ annotations ^
70   "&param.doctype-public=&param.encoding=&param.media-type=text/xml"
71  in
72   string_to_send
73 ;;
74
75 (*CSC: ma questa funzione ha senso? Se si', in quale modulo?*)
76 (*CSC: tutti i parametri passati alla process sono quasi a caso!!! *)
77 let url_of_uri uri =
78  process uri true "cic" "yes" "YES"
79 ;;