[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: using namespaces to version
- From: David Carlisle <davidc@nag.co.uk>
- To: w.hedley@auckland.ac.nz
- Date: Thu, 03 May 2001 11:01:07 +0100
> Take the replacement of <reln> with <apply> in MathML 2.0.
Note that reln isn't removed, just deprecated, or to put it another way
the restrictions on where you can use apply have been relaxed to cover
all cases where previously you had to use reln.
This is an important point in considering how compatible the new version
is.
Basically if there were to be any incompatible changes it ought to be on
a version attribute (probably on the math element) but the feeling of
the WG was (if I recall) that as MathML2 was essentially an extension of
MathML1, with all old features preserved if deprecated, then a version
attribute wasn't necessary at this time.
> My imaginary MathML validator (that can validate against 1.0 and 2.0)
> is unable to detect if a document is 1.0 or 2.0 unless it includes
> elements that are new to 2.0.
I believe that is a tautology. A MathML expression is a MathML 2
expression just if it contains MathML2 elements. Although actually one
of the bigger changes in MathML2 is that it takes note of the changes in
(or propoposed in) unicode 3 (or 3.x). Those changes affect all XML
vocabularies, but MathML more than most as a lot of math characters were
added.
> For instance, it doesn't know if it should reject
> <apply><eq /> and suggest using <reln><eq />
That should be an option on the testing application, not on markuup
instance. Even if a MathML expression used a (hypothetical) versio="1.0"
attribute to say it was MathML 1, you'd still (perhaps) want to make
that warning as updating to MML2 is still a good idea.
> Wouldn't it be useful to have the namespace on the <apply> element define
> what the correct content model is?
Oooh touching on religous debate there:-) but a namespace only defines
one thing, its name.
> I don't really see the problem in having:
> <http://www.w3.org/MathML/1.0#apply> and
> <http://www.w3.org/MathML/2.0#apply>
Having every element in a namespace related to the version at which it
was introduced would lead to chaos in future, how would any author
(or author of authoring tool) keep track of what namespace everything
was supposed to be in?
> To a computationally oriented stylesheet this will be important however.
I believe not, in the case of MathML1/2 but in general perhaps it might.
That is a MathML 2 engine can silently treat the deprecated reln as
apply and the correct semantics are correct.
David.
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered through the MessageLabs Virus Scanning Service. For further information visit http://www.star.net.uk/stats.asp