W3C home > Mailing lists > Public > www-amaya-dev@w3.org > June 2001

Default name space

From: Steve White <wsr4@qwest.net>
Date: Fri, 8 Jun 2001 11:32:19 -0700
Message-Id: <l0313030ab746bffc4f4c@[10.0.0.2]>
To: www-amaya-dev@w3.org
I have a complaint about name spaces, as I understand them in
current implementations of MathML.

Specifically, I can't find a way to set a default name space.  
It escapes me why setting the xmlns attribute in the html element
doesn't define a name space for the whole document.  It seems to
me that generally, if a name space is defined in a block element,
that name space should be inherited by all enclosed elements.

I'm not saying that's the accepted standard, I just would like it
to be that way.  It would sure cut down on some typing.

In many demo MathML documents I've seen, each occurrance of math
defines xmlns="http://www.w3.org/1999/xhtml" in the tag.  This is
just gross, especially inasmuch is this is likely to change in
the future.

There are ways around this that are adequate for display mode. 
However, in inline mode, having to re-declare the name space for 
each occurrence of math is a drag.

So far as I know, there are two choices:

1) explicitly declare the name space attribute in the math element:
	<math xmlns="&mathml;"><mi>X</mi></math>

2) use a name space prefix in each element in the expression
	<m:math><m:mi>X</m:mi></m:math>

Why shouldn't we be allowed to set the name space for the enclosing 
block element, and simply type
	<math><mi>X</mi></math>

Here are working examples:
--------------------------------------------------------------------------
<?xml version="1.0"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "mathml.dtd"
[
<!ENTITY mathml "http://www.w3.org/1998/Math/MathML">
]>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">

<body xmlns:m='&mathml;'>

<p>
Here's a variable in inline mode: <m:math><m:mi>X</m:mi></m:math>.
</p>
<p>
Here's some math in display mode:

<br />
<math xmlns="&mathml;" display="block">
<mi>x</mi><mo>'</mo> <mo>=</mo> <mi>&alpha; x</mi> <mo>+</mo> <mi>&beta; t</mi>
</math><br />
<math xmlns="&mathml;">
<mi>t</mi><mo>'</mo> <mo>=</mo> <mi>&gamma; x</mi> <mo>+</mo> <mi>&delta; t</mi> ,
</math>
</p>

</body>
</html>
Received on Friday, 8 June 2001 14:33:33 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 22:31:05 UTC