W3C home > Mailing lists > Public > www-math@w3.org > April 2002

Re: Can't validate against XHTML 1.1 plus MathML 2.0 with namespace prefixing

From: Klaus Bosse <klaus.bosse@ngi.de>
Date: Mon, 1 Apr 2002 14:48:10 +0200
Message-ID: <003901c1d97b$91372680$0201a8c0@adler>
To: "W3C MathML" <www-math@w3.org>, "Michael Bowen" <fizzbowen@mindspring.com>
Cc: "Waltraud Schweikhardt \(Uni\)" <schweikh@informatik.uni-stuttgart.de>
Michael Bowen wrote

> The MathML 2.0 recommendation [http://www.w3.org/TR/MathML2/chapter7.html]
> makes the following suggestion with regard to namespace prefixing. It
> be cool (for document validation purposes) if the XHTML 1.1 plus MathML
> DTD made allowance for this particular flavor of namespace prefixing (in
> particular, the validator currently chokes when it encounters an xmlns:m
> attribute inside the beginning of an <html> or <body> element).
> Is there any chance that the DTD could change (or at least spawn a mutated
> "transitional" version, as was done for HTML 4.0 to allow temporary use of
> deprecated elements) that would make validation possible for documents
> follow this particular recommendation?
> ===== <excerpt-from-recommendation> =====
> During the transitional period, in which some software may not be fully
> namespace-aware, a few conventional practices will ease compatibility
> problems:
> When using namespace prefixes with MathML markup, use m: as a conventional
> prefix for the MathML namespace. Using an explicit prefix is probably
> for compatibility in current user agents.
> <snip>
> Examples.
> <body>
> ...
> <m:math xmlns:m="http://www.w3.org/1998/Math/MathML">
> <m:mrow>...<m:mrow>
> </m:math>
> ...
> </body>
> ===== </excerpt-from-recommendation> =====
> --MB

See MathML 2.0 recommendation Appendix A.3.

You can change the DOCTYPE-declaration in the source file to


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
 <!ENTITY % MATHML.prefixed "INCLUDE" >
 <!ENTITY % MATHML.prefix "Michael" >

and you can say

<Michael:math xmlns:Michael="http://www.w3.org/1998/Math/MathML">


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
 <!ENTITY % MATHML.prefixed "INCLUDE" >

and you can say

<m:math xmlns:m="http://www.w3.org/1998/Math/MathML">


<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
 <!ENTITY % MATHML.prefixed "INCLUDE" >
 <!ENTITY % MATHML.prefix "Michael" >
<html xmlns="http://www.w3.org/1999/xhtml">
          <Michael:mn> 1 </Michael:mn>
          <Michael:mn> 2 </Michael:mn>

You even then don't have to write the namespace declaration explicit in the
or html-element because this is done implicit by the DTD .

Have a nice day
Received on Monday, 1 April 2002 07:48:55 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Saturday, 20 February 2010 06:12:51 GMT