<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dean</id>
	<title>WHATWG Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.whatwg.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dean"/>
	<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/wiki/Special:Contributions/Dean"/>
	<updated>2026-05-23T02:41:51Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.3</generator>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=User:Dean&amp;diff=8472</id>
		<title>User:Dean</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=User:Dean&amp;diff=8472"/>
		<updated>2012-08-18T12:15:02Z</updated>

		<summary type="html">&lt;p&gt;Dean: Created page with &amp;#039;Dean Edridge&amp;#039;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Dean Edridge&lt;/div&gt;</summary>
		<author><name>Dean</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=XHTML2_versus_HTML5&amp;diff=3508</id>
		<title>XHTML2 versus HTML5</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=XHTML2_versus_HTML5&amp;diff=3508"/>
		<updated>2009-01-25T09:39:03Z</updated>

		<summary type="html">&lt;p&gt;Dean: ...whereas &amp;lt;code&amp;gt;xml:id&amp;lt;/code&amp;gt; can only be used in XML documents.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.w3.org/MarkUp/2009/ED-xhtml-modularization2-20090123/&lt;br /&gt;
&lt;br /&gt;
This is not about HTML versus XHTML, instead this page is an attempt to find out where XHTML2 and HTML5 features overlap, why certain design decisions in HTML5 have been made different, and why HTML5 lacks certain features XHTML2 has.&lt;br /&gt;
&lt;br /&gt;
It is not an attempt to demonstrate that 5 &amp;gt; 2. We know that.&lt;br /&gt;
&lt;br /&gt;
It is also very simple at this point. I wish my time was infinite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XHTML Document Module ==&lt;br /&gt;
&lt;br /&gt;
=== The html element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has version=&amp;quot;&amp;quot; and xsi:schemaLocation=&amp;quot;&amp;quot;. HTML5 has neither.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; HTML5 does away with versioning in HTML defining it equivalent to CSS in that regard. XXX add something &#039;&#039;nice&#039;&#039; about why we do not have xsi:schemaLocation=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== The head element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has profile=&amp;quot;&amp;quot;. HTML5 has not.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; it does not appear to be used in the wild.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; this is still being debated by the HTML WG.&lt;br /&gt;
&lt;br /&gt;
== XHTML Structural Module ==&lt;br /&gt;
&lt;br /&gt;
=== The blockcode element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this element. In HTML5 you can use &amp;amp;lt;pre&amp;gt;&amp;amp;lt;code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the blockcode element is not backwards compatible.&lt;br /&gt;
&lt;br /&gt;
=== The heading elements ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the h element. In HTML5 the h1-h6 elements work together with the section element. In XHTML2 only the h element works with the section element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the h element is not backwards compatible. Also, it seems important to define interaction between the h1-h6 elements and the section element so authors can more easily reuse existing content and assistive technology can still make sense of invalid pages.&lt;br /&gt;
&lt;br /&gt;
=== The separator element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the separator element. It does have the hr element which means and does the same thing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the separator element is not backwards compatible and we cannot do away with the hr element so adding an equivalent element would just make matters more complex.&lt;br /&gt;
&lt;br /&gt;
== XHTML Text Module ==&lt;br /&gt;
&lt;br /&gt;
=== The abbr element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has a full attribute that can reference another element which provides the expansion (within the same page). HTML5 does not. HTML5 does this implicitly by comparing element contents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; Less work for authors.&lt;br /&gt;
&lt;br /&gt;
=== The l element ===&lt;br /&gt;
&lt;br /&gt;
XXX The XHTML2 open issues list says that the br element will be added back. Does this element stay though?&lt;br /&gt;
&lt;br /&gt;
== XHTML Hypertext Module ==&lt;br /&gt;
&lt;br /&gt;
XXX This module talks about adding the access element to the head element, but the link is broken.&lt;br /&gt;
&lt;br /&gt;
== XHTML List Module ==&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have a a caption element to annotate list items.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; XXX&lt;br /&gt;
&lt;br /&gt;
=== The dl, di, dt and dd elements ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the di element. (HTML5 is much clearer in defining this, by the way.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the di element solves a styling problem.&lt;br /&gt;
&lt;br /&gt;
=== The nl element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the nl element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; XXX&lt;br /&gt;
&lt;br /&gt;
== XHTML Core Attributes Module ==&lt;br /&gt;
&lt;br /&gt;
=== The xml:id attribute ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this attribute, however, &amp;lt;code&amp;gt;xml:id&amp;lt;/code&amp;gt; can be used in XHTML5 web pages.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; there already is an id attribute that works fine and can be used both in HTML and XHTML web pages whereas &amp;lt;code&amp;gt;xml:id&amp;lt;/code&amp;gt; can only be used in XML documents.&lt;br /&gt;
&lt;br /&gt;
=== The layout attribute ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this attribute.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the pre element can be used instead.&lt;br /&gt;
&lt;br /&gt;
== XHTML Hypertext Attributes Module ==&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Dean</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=XHTML2_versus_HTML5&amp;diff=3507</id>
		<title>XHTML2 versus HTML5</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=XHTML2_versus_HTML5&amp;diff=3507"/>
		<updated>2009-01-25T09:35:27Z</updated>

		<summary type="html">&lt;p&gt;Dean: however, xml:id can be used in XHTML5 web pages&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.w3.org/MarkUp/2009/ED-xhtml-modularization2-20090123/&lt;br /&gt;
&lt;br /&gt;
This is not about HTML versus XHTML, instead this page is an attempt to find out where XHTML2 and HTML5 features overlap, why certain design decisions in HTML5 have been made different, and why HTML5 lacks certain features XHTML2 has.&lt;br /&gt;
&lt;br /&gt;
It is not an attempt to demonstrate that 5 &amp;gt; 2. We know that.&lt;br /&gt;
&lt;br /&gt;
It is also very simple at this point. I wish my time was infinite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XHTML Document Module ==&lt;br /&gt;
&lt;br /&gt;
=== The html element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has version=&amp;quot;&amp;quot; and xsi:schemaLocation=&amp;quot;&amp;quot;. HTML5 has neither.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; HTML5 does away with versioning in HTML defining it equivalent to CSS in that regard. XXX add something &#039;&#039;nice&#039;&#039; about why we do not have xsi:schemaLocation=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== The head element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has profile=&amp;quot;&amp;quot;. HTML5 has not.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; it does not appear to be used in the wild.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; this is still being debated by the HTML WG.&lt;br /&gt;
&lt;br /&gt;
== XHTML Structural Module ==&lt;br /&gt;
&lt;br /&gt;
=== The blockcode element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this element. In HTML5 you can use &amp;amp;lt;pre&amp;gt;&amp;amp;lt;code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the blockcode element is not backwards compatible.&lt;br /&gt;
&lt;br /&gt;
=== The heading elements ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the h element. In HTML5 the h1-h6 elements work together with the section element. In XHTML2 only the h element works with the section element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the h element is not backwards compatible. Also, it seems important to define interaction between the h1-h6 elements and the section element so authors can more easily reuse existing content and assistive technology can still make sense of invalid pages.&lt;br /&gt;
&lt;br /&gt;
=== The separator element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the separator element. It does have the hr element which means and does the same thing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the separator element is not backwards compatible and we cannot do away with the hr element so adding an equivalent element would just make matters more complex.&lt;br /&gt;
&lt;br /&gt;
== XHTML Text Module ==&lt;br /&gt;
&lt;br /&gt;
=== The abbr element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has a full attribute that can reference another element which provides the expansion (within the same page). HTML5 does not. HTML5 does this implicitly by comparing element contents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; Less work for authors.&lt;br /&gt;
&lt;br /&gt;
=== The l element ===&lt;br /&gt;
&lt;br /&gt;
XXX The XHTML2 open issues list says that the br element will be added back. Does this element stay though?&lt;br /&gt;
&lt;br /&gt;
== XHTML Hypertext Module ==&lt;br /&gt;
&lt;br /&gt;
XXX This module talks about adding the access element to the head element, but the link is broken.&lt;br /&gt;
&lt;br /&gt;
== XHTML List Module ==&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have a a caption element to annotate list items.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; XXX&lt;br /&gt;
&lt;br /&gt;
=== The dl, di, dt and dd elements ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the di element. (HTML5 is much clearer in defining this, by the way.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the di element solves a styling problem.&lt;br /&gt;
&lt;br /&gt;
=== The nl element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the nl element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; XXX&lt;br /&gt;
&lt;br /&gt;
== XHTML Core Attributes Module ==&lt;br /&gt;
&lt;br /&gt;
=== The xml:id attribute ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this attribute, however, xml:id can be used in XHTML5 web pages&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; there already is an id attribute that works fine and can be used both in HTML and XHTML web pages.&lt;br /&gt;
&lt;br /&gt;
=== The layout attribute ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this attribute.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the pre element can be used instead.&lt;br /&gt;
&lt;br /&gt;
== XHTML Hypertext Attributes Module ==&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Dean</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=XHTML2_versus_HTML5&amp;diff=3505</id>
		<title>XHTML2 versus HTML5</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=XHTML2_versus_HTML5&amp;diff=3505"/>
		<updated>2009-01-24T13:57:38Z</updated>

		<summary type="html">&lt;p&gt;Dean: removed my last edit and merged ideas into the first sentence that anne wrote&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.w3.org/MarkUp/2009/ED-xhtml-modularization2-20090123/&lt;br /&gt;
&lt;br /&gt;
This is not a HTML vs XHTML article, instead this page is an attempt to find out where XHTML2 and HTML5 features overlap, why certain design decisions in HTML5 have been made different, and why HTML5 lacks certain features XHTML2 has.&lt;br /&gt;
&lt;br /&gt;
It is not an attempt to demonstrate that 5 &amp;gt; 2. We know that (we are just waiting for the W3C to admit it).&lt;br /&gt;
&lt;br /&gt;
It is also very simple at this point. I wish my time was infinite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XHTML Document Module ==&lt;br /&gt;
&lt;br /&gt;
=== The html element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has version=&amp;quot;&amp;quot; and xsi:schemaLocation=&amp;quot;&amp;quot;. HTML5 has neither.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; HTML5 does away with versioning in HTML defining it equivalent to CSS in that regard. XXX add something &#039;&#039;nice&#039;&#039; about why we do not have xsi:schemaLocation=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== The head element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has profile=&amp;quot;&amp;quot;. HTML5 has not.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; it does not appear to be used in the wild.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; this is still being debated by the HTML WG.&lt;br /&gt;
&lt;br /&gt;
== XHTML Structural Module ==&lt;br /&gt;
&lt;br /&gt;
=== The blockcode element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this element. In HTML5 you can use &amp;amp;lt;pre&amp;gt;&amp;amp;lt;code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the blockcode element is not backwards compatible.&lt;br /&gt;
&lt;br /&gt;
=== The heading elements ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the h element. In HTML5 the h1-h6 elements work together with the section element. In XHTML2 only the h element works with the section element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the h element is not backwards compatible. Also, it seems important to define interaction between the h1-h6 elements and the section element so authors can more easily reuse existing content and assistive technology can still make sense of invalid pages.&lt;br /&gt;
&lt;br /&gt;
=== The separator element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the separator element. It does have the hr element which means and does the same thing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the separator element is not backwards compatible and we cannot do away with the hr element so adding an equivalent element would just make matters more complex.&lt;br /&gt;
&lt;br /&gt;
== XHTML Text Module ==&lt;br /&gt;
&lt;br /&gt;
=== The abbr element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has a full attribute that can reference another element which provides the expansion (within the same page). HTML5 does not. HTML5 does this implicitly by comparing element contents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; Less work for authors.&lt;br /&gt;
&lt;br /&gt;
=== The l element ===&lt;br /&gt;
&lt;br /&gt;
XXX The XHTML2 open issues list says that the br element will be added back. Does this element stay though?&lt;br /&gt;
&lt;br /&gt;
== XHTML Hypertext Module ==&lt;br /&gt;
&lt;br /&gt;
XXX This module talks about adding the access element to the head element, but the link is broken.&lt;br /&gt;
&lt;br /&gt;
== XHTML List Module ==&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have a a caption element to annotate list items.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; XXX&lt;br /&gt;
&lt;br /&gt;
=== The dl, di, dt and dd elements ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the di element. (HTML5 is much clearer in defining this, by the way.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the di element solves a styling problem.&lt;br /&gt;
&lt;br /&gt;
=== The nl element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the nl element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; XXX&lt;br /&gt;
&lt;br /&gt;
== XHTML Core Attributes Module ==&lt;br /&gt;
&lt;br /&gt;
=== The xml:id attribute ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this attribute.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; there already is an id attribute that works fine.&lt;br /&gt;
&lt;br /&gt;
=== The layout attribute ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this attribute.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the pre element can be used instead.&lt;br /&gt;
&lt;br /&gt;
== XHTML Hypertext Attributes Module ==&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Dean</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=XHTML2_versus_HTML5&amp;diff=3504</id>
		<title>XHTML2 versus HTML5</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=XHTML2_versus_HTML5&amp;diff=3504"/>
		<updated>2009-01-24T13:49:44Z</updated>

		<summary type="html">&lt;p&gt;Dean: added: This article is not about HTML vs XHTML...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.w3.org/MarkUp/2009/ED-xhtml-modularization2-20090123/&lt;br /&gt;
&lt;br /&gt;
This page is an attempt to find out where XHTML2 and HTML5 features overlap, why certain design decisions in HTML5 have been made different, and why HTML5 lacks certain features XHTML2 has.&lt;br /&gt;
&lt;br /&gt;
It is not an attempt to demonstrate that 5 &amp;gt; 2. We know that (we are just waiting for the W3C to admit it).&lt;br /&gt;
&lt;br /&gt;
This article is not about HTML vs XHTML, it is about comparing the proposed features of XHTML2 to the features of (X)HTML5.&lt;br /&gt;
&lt;br /&gt;
It is also very simple at this point. I wish my time was infinite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XHTML Document Module ==&lt;br /&gt;
&lt;br /&gt;
=== The html element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has version=&amp;quot;&amp;quot; and xsi:schemaLocation=&amp;quot;&amp;quot;. HTML5 has neither.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; HTML5 does away with versioning in HTML defining it equivalent to CSS in that regard. XXX add something &#039;&#039;nice&#039;&#039; about why we do not have xsi:schemaLocation=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== The head element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has profile=&amp;quot;&amp;quot;. HTML5 has not.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; it does not appear to be used in the wild.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; this is still being debated by the HTML WG.&lt;br /&gt;
&lt;br /&gt;
== XHTML Structural Module ==&lt;br /&gt;
&lt;br /&gt;
=== The blockcode element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this element. In HTML5 you can use &amp;amp;lt;pre&amp;gt;&amp;amp;lt;code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the blockcode element is not backwards compatible.&lt;br /&gt;
&lt;br /&gt;
=== The heading elements ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the h element. In HTML5 the h1-h6 elements work together with the section element. In XHTML2 only the h element works with the section element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the h element is not backwards compatible. Also, it seems important to define interaction between the h1-h6 elements and the section element so authors can more easily reuse existing content and assistive technology can still make sense of invalid pages.&lt;br /&gt;
&lt;br /&gt;
=== The separator element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the separator element. It does have the hr element which means and does the same thing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the separator element is not backwards compatible and we cannot do away with the hr element so adding an equivalent element would just make matters more complex.&lt;br /&gt;
&lt;br /&gt;
== XHTML Text Module ==&lt;br /&gt;
&lt;br /&gt;
=== The abbr element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has a full attribute that can reference another element which provides the expansion (within the same page). HTML5 does not. HTML5 does this implicitly by comparing element contents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; Less work for authors.&lt;br /&gt;
&lt;br /&gt;
=== The l element ===&lt;br /&gt;
&lt;br /&gt;
XXX The XHTML2 open issues list says that the br element will be added back. Does this element stay though?&lt;br /&gt;
&lt;br /&gt;
== XHTML Hypertext Module ==&lt;br /&gt;
&lt;br /&gt;
XXX This module talks about adding the access element to the head element, but the link is broken.&lt;br /&gt;
&lt;br /&gt;
== XHTML List Module ==&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have a a caption element to annotate list items.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; XXX&lt;br /&gt;
&lt;br /&gt;
=== The dl, di, dt and dd elements ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the di element. (HTML5 is much clearer in defining this, by the way.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the di element solves a styling problem.&lt;br /&gt;
&lt;br /&gt;
=== The nl element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the nl element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; XXX&lt;br /&gt;
&lt;br /&gt;
== XHTML Core Attributes Module ==&lt;br /&gt;
&lt;br /&gt;
=== The xml:id attribute ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this attribute.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; there already is an id attribute that works fine.&lt;br /&gt;
&lt;br /&gt;
=== The layout attribute ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this attribute.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the pre element can be used instead.&lt;br /&gt;
&lt;br /&gt;
== XHTML Hypertext Attributes Module ==&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Dean</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=XHTML2_versus_HTML5&amp;diff=3503</id>
		<title>XHTML2 versus HTML5</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=XHTML2_versus_HTML5&amp;diff=3503"/>
		<updated>2009-01-24T13:43:07Z</updated>

		<summary type="html">&lt;p&gt;Dean: a cheeky reminder about web politics&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;http://www.w3.org/MarkUp/2009/ED-xhtml-modularization2-20090123/&lt;br /&gt;
&lt;br /&gt;
This page is an attempt to find out where XHTML2 and HTML5 features overlap, why certain design decisions in HTML5 have been made different, and why HTML5 lacks certain features XHTML2 has.&lt;br /&gt;
&lt;br /&gt;
It is not an attempt to demonstrate that 5 &amp;gt; 2. We know that (we are just waiting for the W3C to admit it).&lt;br /&gt;
&lt;br /&gt;
It is also very simple at this point. I wish my time was infinite.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== XHTML Document Module ==&lt;br /&gt;
&lt;br /&gt;
=== The html element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has version=&amp;quot;&amp;quot; and xsi:schemaLocation=&amp;quot;&amp;quot;. HTML5 has neither.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; HTML5 does away with versioning in HTML defining it equivalent to CSS in that regard. XXX add something &#039;&#039;nice&#039;&#039; about why we do not have xsi:schemaLocation=&amp;quot;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== The head element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has profile=&amp;quot;&amp;quot;. HTML5 has not.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; it does not appear to be used in the wild.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note:&#039;&#039;&#039; this is still being debated by the HTML WG.&lt;br /&gt;
&lt;br /&gt;
== XHTML Structural Module ==&lt;br /&gt;
&lt;br /&gt;
=== The blockcode element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this element. In HTML5 you can use &amp;amp;lt;pre&amp;gt;&amp;amp;lt;code&amp;gt; instead.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the blockcode element is not backwards compatible.&lt;br /&gt;
&lt;br /&gt;
=== The heading elements ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the h element. In HTML5 the h1-h6 elements work together with the section element. In XHTML2 only the h element works with the section element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the h element is not backwards compatible. Also, it seems important to define interaction between the h1-h6 elements and the section element so authors can more easily reuse existing content and assistive technology can still make sense of invalid pages.&lt;br /&gt;
&lt;br /&gt;
=== The separator element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the separator element. It does have the hr element which means and does the same thing.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the separator element is not backwards compatible and we cannot do away with the hr element so adding an equivalent element would just make matters more complex.&lt;br /&gt;
&lt;br /&gt;
== XHTML Text Module ==&lt;br /&gt;
&lt;br /&gt;
=== The abbr element ===&lt;br /&gt;
&lt;br /&gt;
XHTML2 has a full attribute that can reference another element which provides the expansion (within the same page). HTML5 does not. HTML5 does this implicitly by comparing element contents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; Less work for authors.&lt;br /&gt;
&lt;br /&gt;
=== The l element ===&lt;br /&gt;
&lt;br /&gt;
XXX The XHTML2 open issues list says that the br element will be added back. Does this element stay though?&lt;br /&gt;
&lt;br /&gt;
== XHTML Hypertext Module ==&lt;br /&gt;
&lt;br /&gt;
XXX This module talks about adding the access element to the head element, but the link is broken.&lt;br /&gt;
&lt;br /&gt;
== XHTML List Module ==&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have a a caption element to annotate list items.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; XXX&lt;br /&gt;
&lt;br /&gt;
=== The dl, di, dt and dd elements ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the di element. (HTML5 is much clearer in defining this, by the way.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the di element solves a styling problem.&lt;br /&gt;
&lt;br /&gt;
=== The nl element ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have the nl element.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; XXX&lt;br /&gt;
&lt;br /&gt;
== XHTML Core Attributes Module ==&lt;br /&gt;
&lt;br /&gt;
=== The xml:id attribute ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this attribute.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; there already is an id attribute that works fine.&lt;br /&gt;
&lt;br /&gt;
=== The layout attribute ===&lt;br /&gt;
&lt;br /&gt;
HTML5 does not have this attribute.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Rationale:&#039;&#039;&#039; the pre element can be used instead.&lt;br /&gt;
&lt;br /&gt;
== XHTML Hypertext Attributes Module ==&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Dean</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=Generic_Metadata_Mechanisms&amp;diff=3367</id>
		<title>Generic Metadata Mechanisms</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Generic_Metadata_Mechanisms&amp;diff=3367"/>
		<updated>2008-09-23T15:03:00Z</updated>

		<summary type="html">&lt;p&gt;Dean: /* DOM consistency */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There have been some requests for introducing generic metadata mechanisms into HTML5.&lt;br /&gt;
&lt;br /&gt;
To help determine what we would need to add, and whether it is worth adding anything, we have to come to an understanding of what the goals and requirements are of such a proposal.&lt;br /&gt;
&lt;br /&gt;
Please document arguments with links to supporting research or links to other wiki pages detailing the anecdotal evidence for or against particular aspects of the goals and requirements.&lt;br /&gt;
&lt;br /&gt;
= Goals =&lt;br /&gt;
&lt;br /&gt;
== What is the problem we are trying to solve? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nobody has yet answered this in this wiki; please see http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-September/016186.html for commentary and advice on how to fill this in.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Who faces this problem? ==&lt;br /&gt;
&lt;br /&gt;
Currently a few groups. In the future metadata may become necessary for the average &amp;quot;web consumer&amp;quot; (human or machine) to sort actual information from presentation and structural cruft. In other words, a useful tool for determining the meaning, terms of use, quality and/or authority of a piece of data inside (X)HTML.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This section needs to be much, much more detailed. Who exactly faces the problem we&#039;re trying to solve? Name names of communities, organizations, companies, etc; show how they are &amp;quot;suffering&amp;quot; today and how they are currently working around the problem.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Requirements: If we assume that we are going to address this need, what do we need to provide? =&lt;br /&gt;
&lt;br /&gt;
Please demonstrate the reasoning behind each requirement, along with examples of how the requirements could be addressed.&lt;br /&gt;
&lt;br /&gt;
== Machine-readable ==&lt;br /&gt;
&lt;br /&gt;
A machine-readable and standardized way to apply semantic properties (metadata) to DOM elements in HTML5 and XHTML5.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. What does it mean to be machine-readable?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Disambiguation ==&lt;br /&gt;
&lt;br /&gt;
These properties are capable of being disambiguated between multiple definitions of the property name.&lt;br /&gt;
&lt;br /&gt;
== Finding or defining meaning ==&lt;br /&gt;
&lt;br /&gt;
We should be able to find or define an &amp;quot;authoritative&amp;quot; meaning for an abstract concept like &amp;quot;title&amp;quot; (eg. book title, job title, person&#039;s title, land deed, etc...).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. What does it mean to &amp;quot;find&amp;quot; an authoritative meaning?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Machine-usability ==&lt;br /&gt;
&lt;br /&gt;
The metadata could be read by UA&#039;s and other tools to perform actions that would not be possible without &amp;quot;knowing&amp;quot; what type of thing, quantity, unit or quality an element represents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. How can this work? What does it mean in practice?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== DOM consistency ==&lt;br /&gt;
&lt;br /&gt;
The DOM has to be consistent between the HTML and XHTML representations of the HTML5 specification. If it isn&#039;t, then migrating between the two becomes non-trivial, especially for scripting.&lt;br /&gt;
&lt;br /&gt;
== Ease of deployment ==&lt;br /&gt;
&lt;br /&gt;
The syntax has to be something that Web authors can easily deploy. If authors can&#039;t deploy this, then it won&#039;t get critical mass and won&#039;t matter.&lt;br /&gt;
&lt;br /&gt;
One could argue that tools will be used to deploy this, that it&#039;ll mostly be used by big sites like Facebook, and that thus individual authors don&#039;t matter, but this kind of argument (&amp;quot;the tools will save us&amp;quot;) has been repeatedly shown to not work, because in practice the tools have to be hand-authored too, and so the complexity is just moved to other people.&lt;br /&gt;
&lt;br /&gt;
== Inlinability ==&lt;br /&gt;
&lt;br /&gt;
It has to have a way to include it inline, so that it is quicker for non-professional developers to use and adopt. Also, putting metadata in the same location as content could prevent errors in updates or copying.&lt;br /&gt;
&lt;br /&gt;
== Abstractability ==&lt;br /&gt;
&lt;br /&gt;
It has to have both a way to abstract it from the HTML, like JS or CSS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. Why does it need to be abstractable?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Sustainability ==&lt;br /&gt;
&lt;br /&gt;
Where possible the proposal should be resistant to temporary or permanent unavailability of an authoritative source (ie, vocabulary provider). This could be achieved, for example, through a P2P or DNS-like mechanism, or by not relying on external sources (e.g. in the way that SSL certificates are checked). &lt;br /&gt;
&lt;br /&gt;
Not doing this would lead to failures during temporary outages or overloading of an authoritative source of metadata definitions, and may make it more resistant to hostile takeover or shutdown of authority.&lt;br /&gt;
&lt;br /&gt;
Distributing an authoritative source needs not make it less authoritative.&lt;br /&gt;
&lt;br /&gt;
== Reuse ==&lt;br /&gt;
&lt;br /&gt;
The proposal should allow metadata and authoritative sources to be reused across elements, pages and sites, because web developers are more likely to use something that does not require repetitively typing the same data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. Reuse how?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Multilingual and Multicultural ==&lt;br /&gt;
&lt;br /&gt;
Not all concepts can be expressed properly in English. A proposal should allow metadata for foreign languages and concepts.&lt;br /&gt;
&lt;br /&gt;
== Authority and Security ==&lt;br /&gt;
&lt;br /&gt;
Since a potential use of metadata appears to be enabling future features of UAs and other tools it follows that this opens the end-user to additional risks. For example, could a page author or hijacker feed a virus to a tool by falsely claiming it to be another type of data; could harm be caused when a metadata authority is hijacked by a group to deliberately mislead or blackmail; could metadata be used for unintended purposes such as spying on or annoying users.&lt;br /&gt;
&lt;br /&gt;
With these risks in mind should there be standard mechanisms for securing metadata and verifying its source (such as signing certificates, encryption or white/black lists).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Related Proposals, Research and Discussions =&lt;br /&gt;
&lt;br /&gt;
* [http://www.mail-archive.com/whatwg@lists.whatwg.org/index.html#11037 WHATWG Discussions]&lt;br /&gt;
* [http://www.w3.org/2001/sw/interest/ w3c Semantic Web Interest Group (SWIG)]&lt;br /&gt;
* [http://lists.w3.org/Archives/Public/semantic-web/ W3C SWIG Mailing List Archive]&lt;br /&gt;
* [http://microformats.org/wiki/grddl GRRDL (Transformations of XHTML to RDF)]&lt;br /&gt;
* [http://www.xanthir.com/rdfa-vs-crdf.php RDFa vs. CRDF (Cascading RDF Proposal)]&lt;br /&gt;
* [http://research.talis.com/2005/erdf/wiki Embedded RDF Wiki]&lt;br /&gt;
* [http://research.talis.com/2005/erdf/wiki/Main/RdfInHtml RDF in HTML (Embedded RDF Examples)]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Semantic_web Wikipedia page on Semantic Web]&lt;br /&gt;
* [http://microformats.org/wiki/what-are-microformats What are Microformats? (microformats.org)]&lt;br /&gt;
* [http://www.foaf-project.org/ Friend of a Friend Project (FOAF)]&lt;br /&gt;
* [http://dublincore.org/ Dublin Core Metadata Initiative (DCMI)]&lt;br /&gt;
&lt;br /&gt;
= Pre-Existing Software Systems That Demonstrate A Need =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kaply.com/weblog/operator/ Operator] - A semantic web processor for extracting metadata from all forms of HTML embedded by using Microformats and RDFa.&lt;br /&gt;
* [http://rdfa.digitalbazaar.com/fuzzbot/ Fuzzbot] - A semantic web processor for extracting triples from HTML4 and XHTML1.0, 1.1 and 2.0 data sources.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Longwell Longwell] - Longwell is a web-based RDF-powered highly-configurable faceted browser. &lt;br /&gt;
* [http://simile.mit.edu/wiki/Piggy_Bank Piggy Bank] - Piggy Bank is a Firefox extension that turns your browser into a mashup platform, by allowing you to extract data from different web sites and mix them together. Piggy Bank also allows you to store this extracted information locally for you to search later and to exchange at need the collected information with others.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Solvent Solvent] - Solvent is a Firefox extension that helps you write screen scrapers for Piggy Bank.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Semantic_Bank Semantic Bank] - Semantic Bank is the server companion of Piggy Bank that lets you persist, share and publish data collected by individuals, groups or communities.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Crowbar Crowbar] -  Crowbar is a web scraping environment based on the use of a server-side headless mozilla-based browser. Its purpose is to allow running javascript scrapers against a DOM to automate web sites scraping but avoiding all the syntax normalization issues.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Referee Referee] - Referee is a program that reads your web server logs and crawls your referrers (the links that point to your pages) and extract metadata from those pages and text around the links that pointed to your pages.&lt;br /&gt;
&lt;br /&gt;
== Proposals ==&lt;br /&gt;
&lt;br /&gt;
=== Inline (as multiple attributes) ===&lt;br /&gt;
&lt;br /&gt;
Multiple new metadata attributes such as in RDFa.&lt;br /&gt;
&lt;br /&gt;
* Pro: Reasonably simple to add to spec.&lt;br /&gt;
&lt;br /&gt;
* Con: Dependent on changes to HTML spec for future changes to metadata spec.&lt;br /&gt;
* Con: Would probably require a different syntax for block or external version of same metadata (makes it hard to move).&lt;br /&gt;
* Con: Requires documentation and standardization in the HTML spec rather than through a separate document and standards body.&lt;br /&gt;
* Con: More potential for attribute name collisions with future HTML attributes.&lt;br /&gt;
* Con: Appears to make metadata reuse difficult.&lt;br /&gt;
&lt;br /&gt;
=== Inline (in a single attribute) ===&lt;br /&gt;
&lt;br /&gt;
One metadata attribute with complex content (such as the style attribute)&lt;br /&gt;
&lt;br /&gt;
* Pro: New properties can be added without changing the HTML spec.&lt;br /&gt;
* Pro: Changing properties does not affect the DOM.&lt;br /&gt;
* Pro: The properties are grouped together.&lt;br /&gt;
* Pro: Requirements very similar to style=&amp;quot;&amp;quot; and onclick=&amp;quot;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Con: Requires new metadata format to be created.&lt;br /&gt;
* Con: Makes it harder to select individual property/value pairs through CSS or DOM scripting. (Might require dedicated APIs... Ugh.)&lt;br /&gt;
&lt;br /&gt;
=== Block or external metadata ===&lt;br /&gt;
&lt;br /&gt;
Metadata is defined elsewhere from element and targeted in the manner of CSS or Javascript.&lt;br /&gt;
&lt;br /&gt;
* Pro: Does not clutter the HTML.&lt;br /&gt;
* Pro: Gives it more space to develop such as style did once it was abstracted from HTML.&lt;br /&gt;
* Pro: May be easier to import, export, reuse, sign and translate.&lt;br /&gt;
* Pro: May be applied to elements that the author cannot change attributes on (eg, dynamic, protected or generated content).&lt;br /&gt;
* Pro: Speed up where external metadata can be cached.&lt;br /&gt;
&lt;br /&gt;
* Con: Requires new metadata format to be created.&lt;br /&gt;
* Con: CSS-like targeting or use of class or id to apply metadata adds complexity/indirection.&lt;/div&gt;</summary>
		<author><name>Dean</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=Generic_Metadata_Mechanisms&amp;diff=3366</id>
		<title>Generic Metadata Mechanisms</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Generic_Metadata_Mechanisms&amp;diff=3366"/>
		<updated>2008-09-23T14:59:42Z</updated>

		<summary type="html">&lt;p&gt;Dean: /* Machine-readable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There have been some requests for introducing generic metadata mechanisms into HTML5.&lt;br /&gt;
&lt;br /&gt;
To help determine what we would need to add, and whether it is worth adding anything, we have to come to an understanding of what the goals and requirements are of such a proposal.&lt;br /&gt;
&lt;br /&gt;
Please document arguments with links to supporting research or links to other wiki pages detailing the anecdotal evidence for or against particular aspects of the goals and requirements.&lt;br /&gt;
&lt;br /&gt;
= Goals =&lt;br /&gt;
&lt;br /&gt;
== What is the problem we are trying to solve? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nobody has yet answered this in this wiki; please see http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-September/016186.html for commentary and advice on how to fill this in.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Who faces this problem? ==&lt;br /&gt;
&lt;br /&gt;
Currently a few groups. In the future metadata may become necessary for the average &amp;quot;web consumer&amp;quot; (human or machine) to sort actual information from presentation and structural cruft. In other words, a useful tool for determining the meaning, terms of use, quality and/or authority of a piece of data inside (X)HTML.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This section needs to be much, much more detailed. Who exactly faces the problem we&#039;re trying to solve? Name names of communities, organizations, companies, etc; show how they are &amp;quot;suffering&amp;quot; today and how they are currently working around the problem.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Requirements: If we assume that we are going to address this need, what do we need to provide? =&lt;br /&gt;
&lt;br /&gt;
Please demonstrate the reasoning behind each requirement, along with examples of how the requirements could be addressed.&lt;br /&gt;
&lt;br /&gt;
== Machine-readable ==&lt;br /&gt;
&lt;br /&gt;
A machine-readable and standardized way to apply semantic properties (metadata) to DOM elements in HTML5 and XHTML5.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. What does it mean to be machine-readable?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Disambiguation ==&lt;br /&gt;
&lt;br /&gt;
These properties are capable of being disambiguated between multiple definitions of the property name.&lt;br /&gt;
&lt;br /&gt;
== Finding or defining meaning ==&lt;br /&gt;
&lt;br /&gt;
We should be able to find or define an &amp;quot;authoritative&amp;quot; meaning for an abstract concept like &amp;quot;title&amp;quot; (eg. book title, job title, person&#039;s title, land deed, etc...).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. What does it mean to &amp;quot;find&amp;quot; an authoritative meaning?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Machine-usability ==&lt;br /&gt;
&lt;br /&gt;
The metadata could be read by UA&#039;s and other tools to perform actions that would not be possible without &amp;quot;knowing&amp;quot; what type of thing, quantity, unit or quality an element represents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. How can this work? What does it mean in practice?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== DOM consistency ==&lt;br /&gt;
&lt;br /&gt;
The DOM has to be consistent between HTML and XHTML representations. If it isn&#039;t, then migrating between the two becomes non-trivial, especially for scripting.&lt;br /&gt;
&lt;br /&gt;
== Ease of deployment ==&lt;br /&gt;
&lt;br /&gt;
The syntax has to be something that Web authors can easily deploy. If authors can&#039;t deploy this, then it won&#039;t get critical mass and won&#039;t matter.&lt;br /&gt;
&lt;br /&gt;
One could argue that tools will be used to deploy this, that it&#039;ll mostly be used by big sites like Facebook, and that thus individual authors don&#039;t matter, but this kind of argument (&amp;quot;the tools will save us&amp;quot;) has been repeatedly shown to not work, because in practice the tools have to be hand-authored too, and so the complexity is just moved to other people.&lt;br /&gt;
&lt;br /&gt;
== Inlinability ==&lt;br /&gt;
&lt;br /&gt;
It has to have a way to include it inline, so that it is quicker for non-professional developers to use and adopt. Also, putting metadata in the same location as content could prevent errors in updates or copying.&lt;br /&gt;
&lt;br /&gt;
== Abstractability ==&lt;br /&gt;
&lt;br /&gt;
It has to have both a way to abstract it from the HTML, like JS or CSS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. Why does it need to be abstractable?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Sustainability ==&lt;br /&gt;
&lt;br /&gt;
Where possible the proposal should be resistant to temporary or permanent unavailability of an authoritative source (ie, vocabulary provider). This could be achieved, for example, through a P2P or DNS-like mechanism, or by not relying on external sources (e.g. in the way that SSL certificates are checked). &lt;br /&gt;
&lt;br /&gt;
Not doing this would lead to failures during temporary outages or overloading of an authoritative source of metadata definitions, and may make it more resistant to hostile takeover or shutdown of authority.&lt;br /&gt;
&lt;br /&gt;
Distributing an authoritative source needs not make it less authoritative.&lt;br /&gt;
&lt;br /&gt;
== Reuse ==&lt;br /&gt;
&lt;br /&gt;
The proposal should allow metadata and authoritative sources to be reused across elements, pages and sites, because web developers are more likely to use something that does not require repetitively typing the same data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. Reuse how?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Multilingual and Multicultural ==&lt;br /&gt;
&lt;br /&gt;
Not all concepts can be expressed properly in English. A proposal should allow metadata for foreign languages and concepts.&lt;br /&gt;
&lt;br /&gt;
== Authority and Security ==&lt;br /&gt;
&lt;br /&gt;
Since a potential use of metadata appears to be enabling future features of UAs and other tools it follows that this opens the end-user to additional risks. For example, could a page author or hijacker feed a virus to a tool by falsely claiming it to be another type of data; could harm be caused when a metadata authority is hijacked by a group to deliberately mislead or blackmail; could metadata be used for unintended purposes such as spying on or annoying users.&lt;br /&gt;
&lt;br /&gt;
With these risks in mind should there be standard mechanisms for securing metadata and verifying its source (such as signing certificates, encryption or white/black lists).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Related Proposals, Research and Discussions =&lt;br /&gt;
&lt;br /&gt;
* [http://www.mail-archive.com/whatwg@lists.whatwg.org/index.html#11037 WHATWG Discussions]&lt;br /&gt;
* [http://www.w3.org/2001/sw/interest/ w3c Semantic Web Interest Group (SWIG)]&lt;br /&gt;
* [http://lists.w3.org/Archives/Public/semantic-web/ W3C SWIG Mailing List Archive]&lt;br /&gt;
* [http://microformats.org/wiki/grddl GRRDL (Transformations of XHTML to RDF)]&lt;br /&gt;
* [http://www.xanthir.com/rdfa-vs-crdf.php RDFa vs. CRDF (Cascading RDF Proposal)]&lt;br /&gt;
* [http://research.talis.com/2005/erdf/wiki Embedded RDF Wiki]&lt;br /&gt;
* [http://research.talis.com/2005/erdf/wiki/Main/RdfInHtml RDF in HTML (Embedded RDF Examples)]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Semantic_web Wikipedia page on Semantic Web]&lt;br /&gt;
* [http://microformats.org/wiki/what-are-microformats What are Microformats? (microformats.org)]&lt;br /&gt;
* [http://www.foaf-project.org/ Friend of a Friend Project (FOAF)]&lt;br /&gt;
* [http://dublincore.org/ Dublin Core Metadata Initiative (DCMI)]&lt;br /&gt;
&lt;br /&gt;
= Pre-Existing Software Systems That Demonstrate A Need =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kaply.com/weblog/operator/ Operator] - A semantic web processor for extracting metadata from all forms of HTML embedded by using Microformats and RDFa.&lt;br /&gt;
* [http://rdfa.digitalbazaar.com/fuzzbot/ Fuzzbot] - A semantic web processor for extracting triples from HTML4 and XHTML1.0, 1.1 and 2.0 data sources.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Longwell Longwell] - Longwell is a web-based RDF-powered highly-configurable faceted browser. &lt;br /&gt;
* [http://simile.mit.edu/wiki/Piggy_Bank Piggy Bank] - Piggy Bank is a Firefox extension that turns your browser into a mashup platform, by allowing you to extract data from different web sites and mix them together. Piggy Bank also allows you to store this extracted information locally for you to search later and to exchange at need the collected information with others.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Solvent Solvent] - Solvent is a Firefox extension that helps you write screen scrapers for Piggy Bank.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Semantic_Bank Semantic Bank] - Semantic Bank is the server companion of Piggy Bank that lets you persist, share and publish data collected by individuals, groups or communities.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Crowbar Crowbar] -  Crowbar is a web scraping environment based on the use of a server-side headless mozilla-based browser. Its purpose is to allow running javascript scrapers against a DOM to automate web sites scraping but avoiding all the syntax normalization issues.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Referee Referee] - Referee is a program that reads your web server logs and crawls your referrers (the links that point to your pages) and extract metadata from those pages and text around the links that pointed to your pages.&lt;br /&gt;
&lt;br /&gt;
== Proposals ==&lt;br /&gt;
&lt;br /&gt;
=== Inline (as multiple attributes) ===&lt;br /&gt;
&lt;br /&gt;
Multiple new metadata attributes such as in RDFa.&lt;br /&gt;
&lt;br /&gt;
* Pro: Reasonably simple to add to spec.&lt;br /&gt;
&lt;br /&gt;
* Con: Dependent on changes to HTML spec for future changes to metadata spec.&lt;br /&gt;
* Con: Would probably require a different syntax for block or external version of same metadata (makes it hard to move).&lt;br /&gt;
* Con: Requires documentation and standardization in the HTML spec rather than through a separate document and standards body.&lt;br /&gt;
* Con: More potential for attribute name collisions with future HTML attributes.&lt;br /&gt;
* Con: Appears to make metadata reuse difficult.&lt;br /&gt;
&lt;br /&gt;
=== Inline (in a single attribute) ===&lt;br /&gt;
&lt;br /&gt;
One metadata attribute with complex content (such as the style attribute)&lt;br /&gt;
&lt;br /&gt;
* Pro: New properties can be added without changing the HTML spec.&lt;br /&gt;
* Pro: Changing properties does not affect the DOM.&lt;br /&gt;
* Pro: The properties are grouped together.&lt;br /&gt;
* Pro: Requirements very similar to style=&amp;quot;&amp;quot; and onclick=&amp;quot;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Con: Requires new metadata format to be created.&lt;br /&gt;
* Con: Makes it harder to select individual property/value pairs through CSS or DOM scripting. (Might require dedicated APIs... Ugh.)&lt;br /&gt;
&lt;br /&gt;
=== Block or external metadata ===&lt;br /&gt;
&lt;br /&gt;
Metadata is defined elsewhere from element and targeted in the manner of CSS or Javascript.&lt;br /&gt;
&lt;br /&gt;
* Pro: Does not clutter the HTML.&lt;br /&gt;
* Pro: Gives it more space to develop such as style did once it was abstracted from HTML.&lt;br /&gt;
* Pro: May be easier to import, export, reuse, sign and translate.&lt;br /&gt;
* Pro: May be applied to elements that the author cannot change attributes on (eg, dynamic, protected or generated content).&lt;br /&gt;
* Pro: Speed up where external metadata can be cached.&lt;br /&gt;
&lt;br /&gt;
* Con: Requires new metadata format to be created.&lt;br /&gt;
* Con: CSS-like targeting or use of class or id to apply metadata adds complexity/indirection.&lt;/div&gt;</summary>
		<author><name>Dean</name></author>
	</entry>
	<entry>
		<id>https://wiki.whatwg.org/index.php?title=Generic_Metadata_Mechanisms&amp;diff=3365</id>
		<title>Generic Metadata Mechanisms</title>
		<link rel="alternate" type="text/html" href="https://wiki.whatwg.org/index.php?title=Generic_Metadata_Mechanisms&amp;diff=3365"/>
		<updated>2008-09-23T14:59:07Z</updated>

		<summary type="html">&lt;p&gt;Dean: /* Machine-readable */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;There have been some requests for introducing generic metadata mechanisms into HTML5.&lt;br /&gt;
&lt;br /&gt;
To help determine what we would need to add, and whether it is worth adding anything, we have to come to an understanding of what the goals and requirements are of such a proposal.&lt;br /&gt;
&lt;br /&gt;
Please document arguments with links to supporting research or links to other wiki pages detailing the anecdotal evidence for or against particular aspects of the goals and requirements.&lt;br /&gt;
&lt;br /&gt;
= Goals =&lt;br /&gt;
&lt;br /&gt;
== What is the problem we are trying to solve? ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Nobody has yet answered this in this wiki; please see http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2008-September/016186.html for commentary and advice on how to fill this in.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Who faces this problem? ==&lt;br /&gt;
&lt;br /&gt;
Currently a few groups. In the future metadata may become necessary for the average &amp;quot;web consumer&amp;quot; (human or machine) to sort actual information from presentation and structural cruft. In other words, a useful tool for determining the meaning, terms of use, quality and/or authority of a piece of data inside (X)HTML.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;This section needs to be much, much more detailed. Who exactly faces the problem we&#039;re trying to solve? Name names of communities, organizations, companies, etc; show how they are &amp;quot;suffering&amp;quot; today and how they are currently working around the problem.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Requirements: If we assume that we are going to address this need, what do we need to provide? =&lt;br /&gt;
&lt;br /&gt;
Please demonstrate the reasoning behind each requirement, along with examples of how the requirements could be addressed.&lt;br /&gt;
&lt;br /&gt;
== Machine-readable ==&lt;br /&gt;
&lt;br /&gt;
A machine-readable and standardized way to apply semantic properties (metadata) to DOM elements in HTML5 (text/html) and XHTML5 (application/xhtml+xml).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. What does it mean to be machine-readable?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Disambiguation ==&lt;br /&gt;
&lt;br /&gt;
These properties are capable of being disambiguated between multiple definitions of the property name.&lt;br /&gt;
&lt;br /&gt;
== Finding or defining meaning ==&lt;br /&gt;
&lt;br /&gt;
We should be able to find or define an &amp;quot;authoritative&amp;quot; meaning for an abstract concept like &amp;quot;title&amp;quot; (eg. book title, job title, person&#039;s title, land deed, etc...).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. What does it mean to &amp;quot;find&amp;quot; an authoritative meaning?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Machine-usability ==&lt;br /&gt;
&lt;br /&gt;
The metadata could be read by UA&#039;s and other tools to perform actions that would not be possible without &amp;quot;knowing&amp;quot; what type of thing, quantity, unit or quality an element represents.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. How can this work? What does it mean in practice?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== DOM consistency ==&lt;br /&gt;
&lt;br /&gt;
The DOM has to be consistent between HTML and XHTML representations. If it isn&#039;t, then migrating between the two becomes non-trivial, especially for scripting.&lt;br /&gt;
&lt;br /&gt;
== Ease of deployment ==&lt;br /&gt;
&lt;br /&gt;
The syntax has to be something that Web authors can easily deploy. If authors can&#039;t deploy this, then it won&#039;t get critical mass and won&#039;t matter.&lt;br /&gt;
&lt;br /&gt;
One could argue that tools will be used to deploy this, that it&#039;ll mostly be used by big sites like Facebook, and that thus individual authors don&#039;t matter, but this kind of argument (&amp;quot;the tools will save us&amp;quot;) has been repeatedly shown to not work, because in practice the tools have to be hand-authored too, and so the complexity is just moved to other people.&lt;br /&gt;
&lt;br /&gt;
== Inlinability ==&lt;br /&gt;
&lt;br /&gt;
It has to have a way to include it inline, so that it is quicker for non-professional developers to use and adopt. Also, putting metadata in the same location as content could prevent errors in updates or copying.&lt;br /&gt;
&lt;br /&gt;
== Abstractability ==&lt;br /&gt;
&lt;br /&gt;
It has to have both a way to abstract it from the HTML, like JS or CSS.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. Why does it need to be abstractable?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Sustainability ==&lt;br /&gt;
&lt;br /&gt;
Where possible the proposal should be resistant to temporary or permanent unavailability of an authoritative source (ie, vocabulary provider). This could be achieved, for example, through a P2P or DNS-like mechanism, or by not relying on external sources (e.g. in the way that SSL certificates are checked). &lt;br /&gt;
&lt;br /&gt;
Not doing this would lead to failures during temporary outages or overloading of an authoritative source of metadata definitions, and may make it more resistant to hostile takeover or shutdown of authority.&lt;br /&gt;
&lt;br /&gt;
Distributing an authoritative source needs not make it less authoritative.&lt;br /&gt;
&lt;br /&gt;
== Reuse ==&lt;br /&gt;
&lt;br /&gt;
The proposal should allow metadata and authoritative sources to be reused across elements, pages and sites, because web developers are more likely to use something that does not require repetitively typing the same data.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Needs more detail. Reuse how?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Multilingual and Multicultural ==&lt;br /&gt;
&lt;br /&gt;
Not all concepts can be expressed properly in English. A proposal should allow metadata for foreign languages and concepts.&lt;br /&gt;
&lt;br /&gt;
== Authority and Security ==&lt;br /&gt;
&lt;br /&gt;
Since a potential use of metadata appears to be enabling future features of UAs and other tools it follows that this opens the end-user to additional risks. For example, could a page author or hijacker feed a virus to a tool by falsely claiming it to be another type of data; could harm be caused when a metadata authority is hijacked by a group to deliberately mislead or blackmail; could metadata be used for unintended purposes such as spying on or annoying users.&lt;br /&gt;
&lt;br /&gt;
With these risks in mind should there be standard mechanisms for securing metadata and verifying its source (such as signing certificates, encryption or white/black lists).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Related Proposals, Research and Discussions =&lt;br /&gt;
&lt;br /&gt;
* [http://www.mail-archive.com/whatwg@lists.whatwg.org/index.html#11037 WHATWG Discussions]&lt;br /&gt;
* [http://www.w3.org/2001/sw/interest/ w3c Semantic Web Interest Group (SWIG)]&lt;br /&gt;
* [http://lists.w3.org/Archives/Public/semantic-web/ W3C SWIG Mailing List Archive]&lt;br /&gt;
* [http://microformats.org/wiki/grddl GRRDL (Transformations of XHTML to RDF)]&lt;br /&gt;
* [http://www.xanthir.com/rdfa-vs-crdf.php RDFa vs. CRDF (Cascading RDF Proposal)]&lt;br /&gt;
* [http://research.talis.com/2005/erdf/wiki Embedded RDF Wiki]&lt;br /&gt;
* [http://research.talis.com/2005/erdf/wiki/Main/RdfInHtml RDF in HTML (Embedded RDF Examples)]&lt;br /&gt;
* [http://en.wikipedia.org/wiki/Semantic_web Wikipedia page on Semantic Web]&lt;br /&gt;
* [http://microformats.org/wiki/what-are-microformats What are Microformats? (microformats.org)]&lt;br /&gt;
* [http://www.foaf-project.org/ Friend of a Friend Project (FOAF)]&lt;br /&gt;
* [http://dublincore.org/ Dublin Core Metadata Initiative (DCMI)]&lt;br /&gt;
&lt;br /&gt;
= Pre-Existing Software Systems That Demonstrate A Need =&lt;br /&gt;
&lt;br /&gt;
* [http://www.kaply.com/weblog/operator/ Operator] - A semantic web processor for extracting metadata from all forms of HTML embedded by using Microformats and RDFa.&lt;br /&gt;
* [http://rdfa.digitalbazaar.com/fuzzbot/ Fuzzbot] - A semantic web processor for extracting triples from HTML4 and XHTML1.0, 1.1 and 2.0 data sources.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Longwell Longwell] - Longwell is a web-based RDF-powered highly-configurable faceted browser. &lt;br /&gt;
* [http://simile.mit.edu/wiki/Piggy_Bank Piggy Bank] - Piggy Bank is a Firefox extension that turns your browser into a mashup platform, by allowing you to extract data from different web sites and mix them together. Piggy Bank also allows you to store this extracted information locally for you to search later and to exchange at need the collected information with others.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Solvent Solvent] - Solvent is a Firefox extension that helps you write screen scrapers for Piggy Bank.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Semantic_Bank Semantic Bank] - Semantic Bank is the server companion of Piggy Bank that lets you persist, share and publish data collected by individuals, groups or communities.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Crowbar Crowbar] -  Crowbar is a web scraping environment based on the use of a server-side headless mozilla-based browser. Its purpose is to allow running javascript scrapers against a DOM to automate web sites scraping but avoiding all the syntax normalization issues.&lt;br /&gt;
* [http://simile.mit.edu/wiki/Referee Referee] - Referee is a program that reads your web server logs and crawls your referrers (the links that point to your pages) and extract metadata from those pages and text around the links that pointed to your pages.&lt;br /&gt;
&lt;br /&gt;
== Proposals ==&lt;br /&gt;
&lt;br /&gt;
=== Inline (as multiple attributes) ===&lt;br /&gt;
&lt;br /&gt;
Multiple new metadata attributes such as in RDFa.&lt;br /&gt;
&lt;br /&gt;
* Pro: Reasonably simple to add to spec.&lt;br /&gt;
&lt;br /&gt;
* Con: Dependent on changes to HTML spec for future changes to metadata spec.&lt;br /&gt;
* Con: Would probably require a different syntax for block or external version of same metadata (makes it hard to move).&lt;br /&gt;
* Con: Requires documentation and standardization in the HTML spec rather than through a separate document and standards body.&lt;br /&gt;
* Con: More potential for attribute name collisions with future HTML attributes.&lt;br /&gt;
* Con: Appears to make metadata reuse difficult.&lt;br /&gt;
&lt;br /&gt;
=== Inline (in a single attribute) ===&lt;br /&gt;
&lt;br /&gt;
One metadata attribute with complex content (such as the style attribute)&lt;br /&gt;
&lt;br /&gt;
* Pro: New properties can be added without changing the HTML spec.&lt;br /&gt;
* Pro: Changing properties does not affect the DOM.&lt;br /&gt;
* Pro: The properties are grouped together.&lt;br /&gt;
* Pro: Requirements very similar to style=&amp;quot;&amp;quot; and onclick=&amp;quot;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* Con: Requires new metadata format to be created.&lt;br /&gt;
* Con: Makes it harder to select individual property/value pairs through CSS or DOM scripting. (Might require dedicated APIs... Ugh.)&lt;br /&gt;
&lt;br /&gt;
=== Block or external metadata ===&lt;br /&gt;
&lt;br /&gt;
Metadata is defined elsewhere from element and targeted in the manner of CSS or Javascript.&lt;br /&gt;
&lt;br /&gt;
* Pro: Does not clutter the HTML.&lt;br /&gt;
* Pro: Gives it more space to develop such as style did once it was abstracted from HTML.&lt;br /&gt;
* Pro: May be easier to import, export, reuse, sign and translate.&lt;br /&gt;
* Pro: May be applied to elements that the author cannot change attributes on (eg, dynamic, protected or generated content).&lt;br /&gt;
* Pro: Speed up where external metadata can be cached.&lt;br /&gt;
&lt;br /&gt;
* Con: Requires new metadata format to be created.&lt;br /&gt;
* Con: CSS-like targeting or use of class or id to apply metadata adds complexity/indirection.&lt;/div&gt;</summary>
		<author><name>Dean</name></author>
	</entry>
</feed>