namespaces-considered-harmful: Difference between revisions

From Microformats Wiki
Jump to navigation Jump to search
mNo edit summary
(add a bit more from email messages, headings)
Line 1: Line 1:
= namespaces considered harmful =
<h1> namespaces considered harmful </h1>


(This article is a stub, feel free to expand upon it)
(This article is a stub, feel free to expand upon it)


In particular namespaces for '''content''' are considered harmful (e.g. XML namespaces, QNames in attributes etc.).  Namespaces for code is outside the bounds of the topic of this page.
In particular namespaces for '''content''' are considered harmful (e.g. XML namespaces, QNames in attributes etc.).  Namespaces for code is outside the bounds of the topic of this page.
__TOC__
== namespaced content has failed ==
Namespaced content on the Web has failed.
It's been tried by numerous groups, before microformats, and after.  It's even been tried in the context of RSS and RDF, and in practice people write
scrapers that look for namespace prefixes as if they are part of the element name, not as mere shorthands for namespace URIs.
If you want to carry on a theoretical discussion of namespaces, please do so elsewhere, for in practice, discussing them is a waste of time, and
off-topic for microformats lists.
=== namespaced content is not well supported ===
Namespaces are actually *not* well supported in sufficient modern browsers, nor even sufficiently with enough W3C technologies or test suites as compared to [[semantic-xhtml|(X)HTML]] + [[semantic-class-names]] + CSS.
=== articles documenting the failure of namespaced content ===


The mixed namespace approach has already been tried by *numerous* others since 1998 and has failed on the Web.
The mixed namespace approach has already been tried by *numerous* others since 1998 and has failed on the Web.
Line 10: Line 28:
* [http://microformats.org/blog/2006/01/09/tim-bray-on-creating-xml-dialects/ Tim Bray on creating XML dialects]
* [http://microformats.org/blog/2006/01/09/tim-bray-on-creating-xml-dialects/ Tim Bray on creating XML dialects]


On the other hand, XHTML + [[semantic-class-names]] has seen widespread adoption among the web authoring/design/IA/publishing community.  Microformats is leveraging the approach that is both working better and frankly dominating in practice on the Web.
== namespaces for content are a negative ==


Namespaces are actually a *huge* negative.  Search for:
Namespaces are actually a *huge* negative.  Search for:
Line 16: Line 34:
* [http://www.google.com/search?q=namespaces+syntactic+vinegar namespaces syntactic vinegar]
* [http://www.google.com/search?q=namespaces+syntactic+vinegar namespaces syntactic vinegar]


Namespaces are actually *not* well supported in sufficient modern browsers, nor even sufficiently with enough W3C technologies or test suites as compared to [[semantic-xhtml|(X)HTML]] + [[semantic-class-names]] + CSS.
=== namespaced content discourages interoperability of data ===


Namespaces encourage people to seclude themselves in their own namespace and invent their own schema rather than reusing existing elements in existing formats.  This hurts interoperability because a dozen different namespaces can all have their own slightly different semantics for the same element.  See [http://esw.w3.org/topic/BuildOrBuyTerms BuildOrBuy] for support for this argument, specifically  
Namespaces encourage people to seclude themselves in their own namespace and invent their own schema rather than reusing existing elements in existing formats.  This hurts interoperability because a dozen different namespaces can all have their own slightly different semantics for the same element.  See [http://esw.w3.org/topic/BuildOrBuyTerms BuildOrBuy] for support for this argument, specifically  
Line 22: Line 40:


If you start thinking about the web in terms of OOP and polymorphism, namespaces break the polymorphic model that allows you handle widely varied data structures using the same methods.
If you start thinking about the web in terms of OOP and polymorphism, namespaces break the polymorphic model that allows you handle widely varied data structures using the same methods.
== non-namespaced techniques have been succeeding ===
On the other hand, XHTML + [[semantic-class-names]] has seen widespread adoption among the web authoring/design/IA/publishing community.  Microformats is leveraging the approach that is both working better and frankly dominating in practice on the Web.


== See Also ==
== See Also ==

Revision as of 15:29, 1 May 2007

namespaces considered harmful

(This article is a stub, feel free to expand upon it)

In particular namespaces for content are considered harmful (e.g. XML namespaces, QNames in attributes etc.). Namespaces for code is outside the bounds of the topic of this page.

namespaced content has failed

Namespaced content on the Web has failed.

It's been tried by numerous groups, before microformats, and after. It's even been tried in the context of RSS and RDF, and in practice people write scrapers that look for namespace prefixes as if they are part of the element name, not as mere shorthands for namespace URIs.

If you want to carry on a theoretical discussion of namespaces, please do so elsewhere, for in practice, discussing them is a waste of time, and off-topic for microformats lists.

namespaced content is not well supported

Namespaces are actually *not* well supported in sufficient modern browsers, nor even sufficiently with enough W3C technologies or test suites as compared to (X)HTML + semantic-class-names + CSS.

articles documenting the failure of namespaced content

The mixed namespace approach has already been tried by *numerous* others since 1998 and has failed on the Web.

namespaces for content are a negative

Namespaces are actually a *huge* negative. Search for:

namespaced content discourages interoperability of data

Namespaces encourage people to seclude themselves in their own namespace and invent their own schema rather than reusing existing elements in existing formats. This hurts interoperability because a dozen different namespaces can all have their own slightly different semantics for the same element. See BuildOrBuy for support for this argument, specifically

Use somebody elses rather than making aliases on purpose. It's one thing to make your own and then discover that there's something equivalent out there. It's quite another to willfully clutter the semantic web with aliases; the latter increases the burden on the community of consuming your data, so it's anti-social.

If you start thinking about the web in terms of OOP and polymorphism, namespaces break the polymorphic model that allows you handle widely varied data structures using the same methods.

non-namespaced techniques have been succeeding =

On the other hand, XHTML + semantic-class-names has seen widespread adoption among the web authoring/design/IA/publishing community. Microformats is leveraging the approach that is both working better and frankly dominating in practice on the Web.

See Also