diff options
author | Pierre Schmitz <pierre@archlinux.de> | 2006-10-11 18:12:39 +0000 |
---|---|---|
committer | Pierre Schmitz <pierre@archlinux.de> | 2006-10-11 18:12:39 +0000 |
commit | 183851b06bd6c52f3cae5375f433da720d410447 (patch) | |
tree | a477257decbf3360127f6739c2f9d0ec57a03d39 /math/mathml.ml |
MediaWiki 1.7.1 wiederhergestellt
Diffstat (limited to 'math/mathml.ml')
-rw-r--r-- | math/mathml.ml | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/math/mathml.ml b/math/mathml.ml new file mode 100644 index 00000000..b6c76af2 --- /dev/null +++ b/math/mathml.ml @@ -0,0 +1,20 @@ +open Tex +open Render_info + +type t = TREE_MN of string | TREE_MO of string | TREE_MI of string + +let rec make_mathml_tree = function + TREE_MN a::otr,TEX_LITERAL(MHTMLABLEC(_,_,_,MN,b))::itr -> make_mathml_tree(TREE_MN (a^b)::otr,itr) + | otr,TEX_LITERAL(MHTMLABLEC(_,_,_,MN,a))::itr -> make_mathml_tree(TREE_MN a::otr,itr) + | otr,TEX_LITERAL(MHTMLABLEC(_,_,_,MO,a))::itr -> make_mathml_tree(TREE_MO a::otr,itr) + | otr,TEX_LITERAL(MHTMLABLEC(_,_,_,MI,a))::itr -> make_mathml_tree(TREE_MI a::otr,itr) + | otr,TEX_CURLY(crl)::itr -> make_mathml_tree(otr,crl@itr) + | otr,[] -> List.rev otr + | _ -> failwith "failed to render mathml" + +let render_mathml_tree = function + TREE_MN s -> "<mn>"^s^"</mn>" + | TREE_MI s -> "<mi>"^s^"</mi>" + | TREE_MO s -> "<mo>"^s^"</mo>" + +let render tree = try Some (Util.mapjoin render_mathml_tree (make_mathml_tree ([],tree))) with _ -> None |