Managing namespace declarations in XHTML 1.1 + MathML 2.0 DTD

Hi,

At the moment the XHTML 1.1 + MathML 2.0 DTD allows the namespace
declaration for MathML like this:

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
  "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"[
  <!ENTITY % MATHML.prefixed "INCLUDE" >
  ]>
  <html xmlns="http://www.w3.org/1999/xhtml">
  <head>...</head>
  <body>
  <m:math xmlns:m="http://www.w3.org/1998/Math/MathML">...</m:math>
  <p>...<m:math xmlns:m="http://www.w3.org/1998/Math/MathML">...</m:math>...</p>
  </body>
  </html>

but not this (unless you declare an additional ATTLIST for the 'html'
element in the internal DTD subset):

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0//EN"
  "http://www.w3.org/TR/MathML2/dtd/xhtml-math11-f.dtd"[
  <!ENTITY % MATHML.prefixed "INCLUDE" >
  ]>
  <html xmlns="http://www.w3.org/1999/xhtml"
        xmlns:m="http://www.w3.org/1998/Math/MathML">
  <head>...</head>
  <body>
  <m:math>...</m:math>
  <p>...<m:math>...</m:math>...</p>
  </body>
  </html>

As a result, in order to work reliably with non-validating
processors, authors have to always declare the MathML namespace
every time the 'math' element appears.

It would be convenient to allow namespace declaration for MathML
on the 'html' element (or other elements) once and be done with it.
In XHTML Modularization Framework, you could make use of the parameter
entity %NS.decl.attrib; to achieve this.

Thanks,
-- 
Masayasu Ishikawa / mimasa@w3.org
W3C - World Wide Web Consortium

Received on Wednesday, 10 April 2002 03:37:56 UTC