Why namespaces?

David Carlisle davidc at nag.co.uk
Fri Sep 3 11:54:03 BST 1999


Paul Prescod wrote
> In XSL you would just use local names. URI-prefixed names are not useful
> because you can't mix XHTML with other vocabularies *anyhow*.
> 
> If you really did want to use URIs you could do something along the
> lines of:
> 
> <xsl:template match='P[uri()=="$html1" or uri()=="$html2" ...'>
> 
> </xsl:template>

No. 

match='P' matches a P from the currently declared default namespace
so at most one of the clauses in that or filter could possibly be true.
You need something like:

<xsl:template match='html1:P |html2:P | html3:P'>

</xsl:template>

You can't just `use local names'. (Of course you could make one of the
three the default and not use a prefixed form for that one)



It appears that XHTML is defined as an application of XML 1.0 rather
than XHTML 1.0 + namespaces, so it isn't at all clear why it has to have
_any_ namespace allocated.

In particular since conformance by DTD (with no pre-processing to
normalise prefixes) is mandated,

<html xmlns="...">   is GOOD, but

<css:html xmlns:css="..."> which is totally equivalent to the above
acording to the namespace REC, is BAD

So XHTML distinguishes between equivalent forms of a document (according
to the namespace REC) thus would be better described as an XML 1.0
application and not mention namespaces at all, wouldn't it?

David

xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To (un)subscribe, mailto:majordomo at ic.ac.uk the following message;
(un)subscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)





More information about the Xml-dev mailing list