RE: Namespace prefix or not?

Actually, it isn't MathPlayer's requirement that there be a prefix but
Internet Explorer's. IE's mechanism for allowing XML islands to be
embedded in HTML required that their embedded language be declared and a
namespace prefix used to connect the element names to the language.
(There also needs to be an IE-specific declaration to specify that the
namespace was to be rendered by MathPlayer.)

This mechanism for embedding XML of one namespace in another using
namespace prefixes (or declaring the namespace on each element) is the
standard XML one, though in this case the outside language was HTML, not
XHTML. Ironically, and sadly, IE allowed MathML embedded in HTML but did
not deal with XHTML. Mozilla/Firefox did the opposite and ONLY supported
MathML embedded in XHTML. Microsoft can, at least up until recently,
justifiably be accused of dragging their feet on standards in IE.
However, IMHO, this is one case where the purist attitude of
Mozilla/Firefox set MathML back by years. Also ironically, MathML
embedded in HTML is back again in HTML5 and XHTML is somewhat dead.

As you say, HTML5 doesn't need or want the prefix. I guess they are not
so interested in making HTML extensible as simply adding in a bunch of
useful languages to plain old HTML and calling it HTML5. This is good
for MathML, SVG, and other languages that made the cut, bad for any
others.

In general, the issue of prefix or not is really defined by the overall
language and context of the document in which MathML finds itself
embedded. The 'm' prefix won't work if the document declares MathML to
have some other prefix or 'm' is used for another language. This all
makes it hard for programs that generate MathML without knowing where it
is going to end up. MathType has to deal with this issue.

Paul

> -----Original Message-----
> From: Bruce Miller [mailto:bruce.miller@nist.gov]
> Sent: Saturday, February 04, 2012 12:54 PM
> To: www-math@w3.org
> Subject: Namespace prefix or not?
> 
> Seems odd asking such a fundamentally naive question so late in the
> game, but...
> 
> As we all know, you can include MathML in XHTML either by declaring
and
> using a namespace prefix, m: by tradition, or by placing an xmlns
> namespace declaration on _each_ math element.
> 
> I have always preferred the prefixed form
> --- seems more readable, perhaps more compact in practice (though I
> never tested).
> I have the vague recollection that early versions of MathPlayer
> _required_ the prefixed form for IE to trigger it(?)
> 
> But now I find that
> 
> http://www.dessci.com/en/products/mathplayer/author/creatingpages.htm
> prefers the NON-prefixed form for xhtml.
> Moreover, the <mumble mumble> validator at w3,
> http://validator.w3.org/, has nice analysis, but is dtd-based and only
> recognizes the NON-prefixed form. I've never found such a convenient
> online service doing relaxng validations (so do it at home).
> 
> So, maybe I mis-remembered MathPlayer's requirements, or am forgetting
> some other reason...
> Are there any remaining reasons (besides taste) to prefer the prefixed
> form?
> 
> bruce
> 
> PS: No need to mention that html5 doesn't want the prefix; in fact:
> PLEASE DONT! :>

Received on Saturday, 4 February 2012 21:13:35 UTC