]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/ocaml/xml/xml.ml
ocaml 3.09 transition
[helm.git] / helm / ocaml / xml / xml.ml
index cee7ccd6d187249b7ac2a4c3736c70a9efe01faf..42ce7ba571564c7a80c12de4feeaa7a417a47e51 100644 (file)
@@ -103,6 +103,7 @@ let pp_to_outchan strm oc =
 
 let pp_to_gzipchan strm oc =
   pp_gen (fun s -> Gzip.output oc s 0 (String.length s)) strm
+;;
 
 (** pretty printer to string *)
 let pp_to_string strm =
@@ -139,3 +140,23 @@ let pp ?(gzip=false) strm fn =
         close_out outchan
     | None -> pp_to_outchan strm stdout
 ;;
+
+let pp =
+ let profiler = HExtlib.profile "Xml.pp" in
+  fun ?gzip strm fn ->
+   profiler.HExtlib.profile (pp ?gzip strm) fn
+;;
+
+let add_xml_declaration stream =
+  let box_prefix = "b" in
+  [<
+    xml_cdata "<?xml version=\"1.0\" ?>\n" ;
+    xml_cdata "\n";
+    xml_nempty ~prefix:box_prefix "box"
+      [ Some "xmlns","m","http://www.w3.org/1998/Math/MathML" ;
+        Some "xmlns","b","http://helm.cs.unibo.it/2003/BoxML" ;
+        Some "xmlns","helm","http://www.cs.unibo.it/helm" ;
+        Some "xmlns","xlink","http://www.w3.org/1999/xlink"
+      ] stream
+  >]
+