<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://microformats.org/wiki/index.php?action=history&amp;feed=atom&amp;title=namespaced-attributes-considered-harmful</id>
	<title>namespaced-attributes-considered-harmful - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://microformats.org/wiki/index.php?action=history&amp;feed=atom&amp;title=namespaced-attributes-considered-harmful"/>
	<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=namespaced-attributes-considered-harmful&amp;action=history"/>
	<updated>2026-04-14T23:53:14Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.38.4</generator>
	<entry>
		<id>https://microformats.org/wiki/index.php?title=namespaced-attributes-considered-harmful&amp;diff=33067&amp;oldid=prev</id>
		<title>Tantek: drafted</title>
		<link rel="alternate" type="text/html" href="https://microformats.org/wiki/index.php?title=namespaced-attributes-considered-harmful&amp;diff=33067&amp;oldid=prev"/>
		<updated>2007-07-10T16:35:54Z</updated>

		<summary type="html">&lt;p&gt;drafted&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&amp;lt;h1&amp;gt;namespaced attributes considered harmful&amp;lt;/h1&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Namespaced attributes are undesirable for numerous reasons. &lt;br /&gt;
&lt;br /&gt;
== because they are ==&lt;br /&gt;
=== invalid ===&lt;br /&gt;
Random namespaced attributes are invalid. &lt;br /&gt;
&lt;br /&gt;
There is no standard (W3C or other) that shows &amp;lt;em&amp;gt;how&amp;lt;/em&amp;gt; to validate namespaced attributes.&lt;br /&gt;
&lt;br /&gt;
There is no validation service (e.g. like http://validator.w3.org ) that validates namespaced attributes, probably because it is undefined how to validate them.&lt;br /&gt;
&lt;br /&gt;
In fact, there is no spec for how to validate multiple-namespaced documents at all. W3C never solved this problem.&lt;br /&gt;
&lt;br /&gt;
=== unstylable ===&lt;br /&gt;
Just go ahead and try to get even one browser to handle CSS style rules based on some random namespaced attribute.  Now try to get two browsers to do so.&lt;br /&gt;
&lt;br /&gt;
There simply isn't browser support (nor even W3C Recommendations for that matter) for how to use namespaced attributes to style content.&lt;br /&gt;
&lt;br /&gt;
=== invisible ===&lt;br /&gt;
Data in namespaced attributes (most attributes for that matter) is invisible to the user and thus undesirable.  Perhaps this is worthy of pointing to another write-up: [[invisible-data-considered-harmful]].&lt;br /&gt;
&lt;br /&gt;
If you are using namespaced attributes for data &amp;quot;not for user consumption&amp;quot;, i.e. not for human data but rather for purely programmatic data, just use JSON, don't even bother with markup, XML or otherwise.&lt;br /&gt;
&lt;br /&gt;
=== ugly ===&lt;br /&gt;
namespaced attributes are ugly to read and write. more typing and punctuation. enough said.&lt;br /&gt;
&lt;br /&gt;
== misconceptions ==&lt;br /&gt;
=== just needs to be XHTML ===&lt;br /&gt;
Some have asserted that if you simply put namespaced attributes in proper &amp;quot;XHTML&amp;quot;, e.g. sent as &lt;br /&gt;
&amp;lt;code&amp;gt;text/xml-xhtml&amp;lt;/code&amp;gt; [sic] then they will work fine.&lt;br /&gt;
&lt;br /&gt;
* There is no [[content-type]] &amp;lt;code&amp;gt;text/xml-xhtml&amp;lt;/code&amp;gt;&lt;br /&gt;
* Lack of browser support for &amp;lt;code&amp;gt;application/xhtml+xml&amp;lt;/code&amp;gt; means it is unusable from a practical standpoint.&lt;br /&gt;
* XHTML does not provide a validation model for namespaced attributes that are defined outside of XHTML.&lt;br /&gt;
&lt;br /&gt;
== related ==&lt;br /&gt;
* [[namespaces-considered-harmful]]&lt;/div&gt;</summary>
		<author><name>Tantek</name></author>
	</entry>
</feed>