]> matita.cs.unibo.it Git - helm.git/blobdiff - helm/www/lambdadelta/bin/xhtbl/table.ml
update in basic_2
[helm.git] / helm / www / lambdadelta / bin / xhtbl / table.ml
index e363cd4347b18864ae9b1e0405cd20c4353782e1..d3ee13bfa14e11d87a9eaf593ba17963290ce025 100644 (file)
@@ -1,5 +1,13 @@
 type css = string list
 
+type uri = string
+
+type ext = string
+
+type anchor = string
+
+type absolute = bool
+
 type size = {
    y : int;         (* first row *)
    x : int;         (* first column *)
@@ -17,11 +25,17 @@ type border = {
    w: bool; (* west *)
 }
 
-type key = Text of string list
+type text = Plain of string
+          | Link of absolute * string * string
+
+type key = Text of text list
          | Glue of int option
 
 type table = {
+           tn: anchor; (* named anchor *)
    mutable tc: css;    (* css classes *)
+   mutable tu: uri;    (* uri *)
+   mutable tx: ext;    (* uri extension *)
    mutable ts: size;   (* dimension *)
            tb: border; (* border *)
            te: entry;  (* contents *)
@@ -43,12 +57,14 @@ let border b = {
    n = b; s = b; e = b; w = b;
 }
 
-let mk_key k tc = {
-   ts = no_size; tb = border false; te = Key k; tc = tc;
+let mk_key k tc tu tx tn = {
+   ts = no_size; tb = border false; te = Key k;
+   tc = tc; tu = tu; tx = tx; tn = tn;
    ti = id ();
 }
 
-let mk_line b tl tc = {
-   ts = no_size; tb = border b; te = Line (b, tl); tc = tc;
+let mk_line b tl tc tu tx tn = {
+   ts = no_size; tb = border b; te = Line (b, tl);
+   tc = tc; tu = tu; tx = tx; tn = tn;
    ti = id ();
 }