Re: How to extend MathML?; was RE: LeftRightArrow equivalence operator?

If you just add a new element by editing the DTD then that may or may
not be sufficient depending what you are doing with the markup.

You have then made a mathml-like markup extended with the new element
and if you are using it to pass mathematical information between two
systems that understand that, then that may be all that is required.

However a MathML system won't know what to do with your new element, it
won't know what it means mathematically, and won't know how to render
it. If it reads the DTD it will know that the element is supposed to be
there, but that is all.

One possible solution to this is to specify an XSL transform from your
new markup to presentation MathML, then (once browsers have sufficiently
good XSL and MathML support) the browser will know how to render the new
element by converting it on the fly to presenttaion MathML. If your
transform also includes semantic as well as presentation information
(eg by mapping to a suitable semantics element construction) then 
you should also be able to pass the semantics of the new element to
a native MathMl system as well.

> How do I sneak an operator in there without an edit?
basically by using a ci to get the operator name and a suitable
definition element or definitionURL attribute to give the semantics.
If you want the convenience of an empty element short form as in the
existing <sin/> etc, then something like the above is needed.

The latest mozilla test code claims to have support for xsl and
mathml so I'm hoping to be able to build that and try this out in the
near future....

Will let you know if it works....

David

 

Received on Friday, 15 October 1999 19:02:11 UTC