W3C home > Mailing lists > Public > www-style@w3.org > September 1999

Re: CSS Namespaces: Need multiple namespaces!

From: Ian Hickson <py8ieh@bath.ac.uk>
Date: Thu, 30 Sep 1999 23:14:30 +0100 (BST)
To: Peter Linss <peterl@netscape.com>
cc: www-style <www-style@w3.org>
Message-ID: <Pine.GSO.4.04.9909302307520.16589-100000@ss1.bath.ac.uk>
On Wed, 29 Sep 1999, Peter Linss wrote:

>> This feature is _not_ only for the case where we have versioned/
>> flavored namespaces. A much more important reason for CSS to have
>> this feature is for styling the elements with the same name in
>> several namespaces. For example, you could have a stylesheet which
>> styled documents that might have snippets in several other
>> namespaces. If these namespaces had a common vocabulary subset,
>> then you could do this:
> I have to push back on this point a bit. I see the utility in what
> you're trying to accomplish, but I disagree that this is the right
> way to go about doing it.

Fair enough: I have very little experience in this field...

> If you start mixing @namespace declarations with completely foreign
> namespaces (like xhtml and MathML) then you are in effect declaring
> equivalence between the namespaces, if that were true, then there
> shouldn't have been different namespaces to begin with.
> For example, for me to say:
> @namespace text url(xhtml) url(MathML);
> text|foo { color: blue }
> I'd be implying that a xhtml:foo *is the same kind of element* as a
> MathML:foo. Which is simply not true, they are distinct entities or
> they wouldn't be in distinct namespaces.

What, so you mean that _every_ paragraph in _every_ document
everywhere should be in the same namespace?! You mean that because
HTML has now got the concept of <p>, I can never invent a DTD with a
paragraph element?!

I don't buy that.

It is very likely that one day an HTML document (e.g. a generic web
page) will have a snippet of ReviewML (e.g., a film review
incorporated on an IMDb page).

Both are likely to have paragraph-type elements, but that doesn't mean
they have to have the same namespace!

> This would be the moral equivalent to some declaration like:
>    @equivalence heading { h1, h2, h3, h4, h5, h6 }
>    heading { color: blue }
> rather than saying:
>    h1, h2, h3, h4, h5, h6 { color: blue }

Yeah, that idea would probably better.

(The syntax needs improving though, as with the above syntax there is
no easy way of distinguishing between a type selector for elements
called 'heading' and a type selector for elements in the 'heading'
equivalence set.)

Ian Hickson
: Is your JavaScript ready for Nav5 and IE5?
: Get the latest JavaScript client sniffer at 
: http://developer.netscape.com/docs/examples/javascript/browser_type.html
Received on Thursday, 30 September 1999 18:14:34 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:26:51 UTC