Re: CSS Namespaces: Need multiple namespaces!

Ian Hickson wrote:

> On Thu, 30 Sep 1999, Chris Lilley wrote:
>
> >> When|If Schemas are pointed to by namespace URIs (as suggested in
> >> various packaging ideas recently), then namespaces will fill
> >> basically the same role as PUBLIC/SYSTEM FPIs/DTDs, and so n (where
> >> here n=3) namespaces will become a necessity.
> > So in each DTD/XSchema that uses a given vocabulary set, it has a
> > different namespace identifier, then there is no ability to
> > recognise different namespaces.
>
> Sorry, I don't follow that.
>
> > So you have made namespace declarations be an exact analogue of
> > doctype declarations, which already exist, and removed the ability
> > to identify which vocabularies are being combined in a given
> > document.
>
> No.
>
> The problem with DOCTYPEs is that they can only appear once in a
> document. The ability of identifying which vocabularies are used in a
> document is done by the xmlns attribute(s), which can appear as often
> as required. The content of these attributes is an arbitrary unique
> string. This string uniquely identifies a namespace. Each namespace
> can have a Schema (just like each FPI has a DTD).
>
> So just like the <!DOCTYPE> points to the DTD, it makes sense for the
> xmlns= to point to the Schema.
>
> No?
>
> If this is not the case, then what _is_ the difference between
> namespace declarations and doctypes?
>
> (Note -- I make two assumptions which may be flawed: 1. Schemas are
> basically souped up DTDs, and 2. each namespace will only have one
> Schema. Are these assumptions correct?)

#2 is not correct. Multiple schemas may indeed be defined to share a single
namespace, there is no restriction at this time. It would be up the the author
of a schema to declare what namespaces are allowed.

You should think of namespaces as more analogous to mime types than schemas.
It's simply an identifier to give the processor a clue about what "vocabulary"
is being used (where vocabulary is an ill defined term at the moment, but you
get the idea I hope).

The reason that mime types aren't used is that the proper mime type for XML
documents is most likely text/xml, not text/foo (where foo is some XML
application), and namespacing allows you to mix "vocabularies" within a single
XML document where mime types apply to the whole mime part.

>
>
> --
> 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:38:25 UTC