X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fwww%2Flambdadelta%2Fbin%2Fxhtbl%2FxmlUnparser.ml;h=603c7f1bebd1baa2706ce4273b34e5a214ccc5b3;hb=c0d87c3cdf879f61aa53e91f43580e9815ae7190;hp=3583c2f7536e95d045a4dd0776bbf81d4169b8c2;hpb=2a5e0b799cd6aae5d920c67a5ddc9d9888cf7e80;p=helm.git diff --git a/helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml b/helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml index 3583c2f75..603c7f1be 100644 --- a/helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml +++ b/helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml @@ -22,8 +22,15 @@ let border cell = if cell.M.cb.T.w then str.[3] <- 's'; str :: cell.M.cc +let text baseuri ext = function + | T.Plain s -> s + | T.Link (true, uri, s) -> P.sprintf "%s" uri s + | T.Link (false, uri, s) -> + let uri = !O.baseuri ^ baseuri ^ uri ^ ext in + P.sprintf "%s" uri s + let key cell = - if cell.M.ck = [] then "
" else S.concat " " cell.M.ck + if cell.M.ck = [] then "
" else S.concat " " (L.map (text cell.M.cu cell.M.cx) cell.M.ck) let ind i = S.make (2 * i) ' ' @@ -37,16 +44,20 @@ let out_row och row = A.iter (out_cell och) row; P.fprintf och "%s\n" (ind (i+3)) +let out_space och (name, uri) = + let name = if name = "" then name else ":" ^ name in + P.fprintf och " xmlns%s=\"%s\"\n" name uri + (****************************************************************************) -let open_out html name = +let open_out name spaces = let fname = F.concat !O.output_dir (P.sprintf "%s.xsl" name) in + let spaces = ("xsl", "http://www.w3.org/1999/XSL/Transform") :: spaces in let och = open_out fname in P.fprintf och "\n\n"; P.fprintf och "\n\n" msg; P.fprintf och "\n\n"; och @@ -72,7 +83,7 @@ let map_tbls och name = P.fprintf och "%s\n" (ind (i+2)) let write_hook name incs tbls = - let och = open_out false name in + let och = open_out name [] in L.iter (map_incs och) incs; P.fprintf och "\n\n" name; P.fprintf och "%s\n" (ind (i+1));