module A = Array
+module N = Filename
module T = Table
type cell = {
ck: T.text list; (* contents *)
cc: T.css; (* css classes *)
+ cu: T.uri; (* uri *)
+ cx: T.ext; (* extension *)
+ cn: T.anchor; (* named anchor *)
cb: T.border; (* border *)
}
m: cell array array; (* matrix *)
}
+let strand a b = if a = "" then b else a
+
let empty = {
- ck = []; cc = []; cb = T.border false;
+ ck = []; cc = []; cu = ""; cx = ""; cn = ""; cb = T.border false;
}
let make ts = {
let set_key m y x kl =
m.m.(y).(x) <- {m.m.(y).(x) with ck = kl}
-let set_css m y x c =
- m.m.(y).(x) <- {m.m.(y).(x) with cc = c @ m.m.(y).(x).cc}
+let set_attrs m y x c u e n =
+ m.m.(y).(x) <- {m.m.(y).(x) with
+ cc = c @ m.m.(y).(x).cc;
+ cu = u ^ m.m.(y).(x).cu;
+ cx = m.m.(y).(x).cx ^ e;
+ cn = strand m.m.(y).(x).cn n;
+ }
let set_west m y x b =
let c = m.m.(y).(x) in