X-Git-Url: http://matita.cs.unibo.it/gitweb/?a=blobdiff_plain;f=helm%2Fwww%2Flambdadelta%2Fbin%2Fxhtbl%2FxmlUnparser.ml;h=e60a6a46c3e21a792577c35216046de44d41d2d5;hb=150f931929c8333dbcfff8dbe77fb2e177f44c56;hp=603c7f1bebd1baa2706ce4273b34e5a214ccc5b3;hpb=c0d87c3cdf879f61aa53e91f43580e9815ae7190;p=helm.git diff --git a/helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml b/helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml index 603c7f1be..e60a6a46c 100644 --- a/helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml +++ b/helm/www/lambdadelta/bin/xhtbl/xmlUnparser.ml @@ -14,6 +14,14 @@ let myself = F.basename (Sys.argv.(0)) let msg = P.sprintf "This file was generated by %s, do not edit" myself +let compose uri ext = + if uri.[pred (S.length uri)] = '/' then uri else + try + let i = S.index uri '#' in + let uri, fragment = S.sub uri 0 i, S.sub uri i (S.length uri - i) in + uri ^ ext ^ fragment + with Not_found -> uri ^ ext + let border cell = let str = S.make 4 'n' in if cell.M.cb.T.n then str.[0] <- 's'; @@ -26,18 +34,21 @@ 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 + let uri = !O.baseuri ^ baseuri ^ compose uri ext in P.sprintf "%s" uri s +let name cell = + if cell.M.cn = "" then "" else P.sprintf " id=\"%s\"" cell.M.cn + let key cell = - if cell.M.ck = [] then "
" else S.concat " " (L.map (text cell.M.cu cell.M.cx) 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) ' ' let out_cell och cell = let cc = border cell in - P.fprintf och "%s%s\n" - (ind (i+4)) (S.concat " " cc) (key cell) + P.fprintf och "%s%s\n" + (ind (i+4)) (S.concat " " cc) (name cell) (key cell) let out_row och row = P.fprintf och "%s\n" (ind (i+3));