X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fuwobo%2Fsrc%2Focaml%2Fuwobo_styles.ml;fp=helm%2Fuwobo%2Fsrc%2Focaml%2Fuwobo_styles.ml;h=0000000000000000000000000000000000000000;hb=869549224eef6278a48c16ae27dd786376082b38;hp=218da17868260b195946d676ca9c9051ae8c6f76;hpb=89262281b6e83bd2321150f81f1a0583645eb0c8;p=helm.git diff --git a/helm/uwobo/src/ocaml/uwobo_styles.ml b/helm/uwobo/src/ocaml/uwobo_styles.ml deleted file mode 100644 index 218da1786..000000000 --- a/helm/uwobo/src/ocaml/uwobo_styles.ml +++ /dev/null @@ -1,118 +0,0 @@ - -(* Copyright (C) 2002, HELM Team. - * - * This file is part of HELM, an Hypertextual, Electronic - * Library of Mathematics, developed at the Computer Science - * Department, University of Bologna, Italy. - * - * HELM is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - * - * HELM 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 General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with HELM; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, - * MA 02111-1307, USA. - * - * For details, see the HELM World-Wide-Web page, - * http://cs.unibo.it/helm/. - *) - -open Printf;; - -exception Stylesheet_not_found of string;; -exception Stylesheet_already_in of string;; - -class styles = - object (self) - (* INVARIANT: 'stylesheets' and 'uris' are in sync *) - - inherit Uwobo_common.threadSafe - - val mutable stylesheets = [] - val mutable uris = [] - val domImpl = Gdome.domImplementation () - - (** process an XSLT stylesheet *) - method private process uri = domImpl#createDocumentFromURI ~uri () - - method get keys = - self#doReader (lazy ( - let rev_keys = List.rev keys in - let last_key = List.hd rev_keys in - let p_stylesheets = - List.fold_left - (fun collected_styles key -> - let (key, stylesheet) = - try - List.find (fun (k, _) -> k = key) stylesheets - with Not_found -> raise (Stylesheet_not_found key) - in - (key, Gdome_xslt.processStylesheet stylesheet)::collected_styles) - [] - rev_keys - in - let last_stylesheet = - snd (List.find (fun (k, _) -> k = last_key) stylesheets) - in - (p_stylesheets, last_stylesheet) - )) - - method add key uri = - self#doWriter (lazy ( - if (List.mem_assoc key uris) then - raise (Stylesheet_already_in key) - else begin - uris <- (key, uri) :: uris; - stylesheets <- (key, self#process uri) :: stylesheets - end - )) - - method remove key = - self#doWriter (lazy ( - if not (List.mem_assoc key uris) then - raise (Stylesheet_not_found key) - else begin - uris <- List.remove_assoc key uris; - stylesheets <- List.remove_assoc key stylesheets - end - )) - - method removeAll = - self#doWriter (lazy ( - uris <- []; - stylesheets <- [] - )) - - method list = - let uris = self#doReader (lazy ( - uris - )) - in - List.map - (fun (key, uri) -> sprintf "key = %s, uri = %s" key (List.assoc key uris)) - uris - - method reload key = - self#doWriter (lazy ( - (try - let uri = List.assoc key uris in - stylesheets <- - (key, self#process uri) :: (List.remove_assoc key stylesheets) - with Not_found -> - raise (Stylesheet_not_found key)) - )) - - method reloadAll = - self#doWriter (lazy ( - stylesheets <- List.map (fun (key, uri) -> (key, self#process uri)) uris - )) - - end -