{"id":373,"date":"2004-07-24T01:05:18-04:00","date_gmt":"2004-07-24T09:05:18+00:00","guid":{"rendered":"http:\/\/peterjanes.ca\/wordpress\/?p=373"},"modified":"2004-07-24T01:05:18-04:00","modified_gmt":"2004-07-24T09:05:18+00:00","slug":"xhtml2-mixed-metaphors","status":"publish","type":"post","link":"https:\/\/peterjanes.ca\/blog\/2004\/07\/24\/xhtml2-mixed-metaphors\/","title":{"rendered":"XHTML2 mixed&nbsp;metaphors"},"content":{"rendered":"<div class='e-content'><p>There&#8217;s been a lot of hubbub about XHTML2 being incompatible with XHTML1 and HTML.  Of more concern to me (in this post, anyway) is an inconsistency in the XHTML2 spec itself, one that I haven&#8217;t seen <a href=\"http:\/\/lists.w3.org\/Archives\/Public\/www-html\/\">considered<\/a> by the <span xml:lang=\"el\">hoi polloi<\/span>.<\/p>\n\n<p>Several attributes in <a href=\"http:\/\/www.w3.org\/TR\/2004\/WD-xhtml2-20040722\/\">the current draft of XHTML2<\/a> are specified in a form that&#8217;s tied to transmission protocols.  One example, <a href=\"http:\/\/www.w3.org\/TR\/2004\/WD-xhtml2-20040722\/#adef_embedding_type\">the <samp>type<\/samp> attribute<\/a>, states that it is <q cite=\"http:\/\/www.w3.org\/TR\/2004\/WD-xhtml2-20040722\/xhtml2-diff.html#adef_embedding_type\">a comma-separated list of media ranges&#8230; <strong title=\"emphasis mine\">as defined [in the HTTP specification] as the field value of the accept request header.<\/strong><\/q><\/p>\n\n<p>Why is this bad?  Most other attribute values in all versions of HTML or XHTML (XHTML2 included) use <em>space-separated values<\/em>; among them are the core attribute <samp>class<\/samp>, the document properties attribute <samp>resource<\/samp>, the object module&#8217;s <samp>archive<\/samp> and the table module&#8217;s <samp>headers<\/samp>.  The only ones that don&#8217;t are used to specify values that may include spaces, which <a href=\"http:\/\/rfc.net\/rfc2045.html#s5.1\">MIME types can&#8217;t<\/a>.  Added to this, there&#8217;s no way to efficiently parse comma-separated values using <a href=\"http:\/\/www.w3.org\/TR\/2001\/CR-css3-selectors-20011113\/\">CSS selectors<\/a>, <a href=\"http:\/\/www.w3.org\/TR\/xpath\">XPath<\/a> or <a href=\"http:\/\/www.w3.org\/TR\/xslt\">XSLT<\/a>, to name but a few of the current golden children of the W3C.<\/p>\n\n<p>Making these values conform to the format of what is, ultimately, an unrelated specification&#8211;not to mention one that&#8217;s divergent from current\/expected\/common practice&#8211;is a bizarre choice, and one that seems predicated on making implementation easier for browser makers than authors (and authoring tools).  Look at <a href=\"http:\/\/dean.edwards.name\/IE7\/\">IE7<\/a> and <a href=\"http:\/\/w3future.com\/weblog\/2002\/08\/07.xml\">Sjoerd Visscher&#8217;s XHTML2 sample<\/a>; if nothing else, they show that the browser isn&#8217;t the bottleneck in adoption of new technologies.<\/p>\n\n<p>The W3C&#8217;s making a mistake if it&#8217;s making XHTML2 harder on content creators than it already is.  The reason HTML took off&#8211;and why <a href=\"http:\/\/www.w3.org\/TR\/SVG\/\">other things<\/a> didn&#8217;t&#8211;can be summed up with <a href=\"http:\/\/www.google.com\/search?q=%22it's%20the%20*%20stupid%22\">a meme<\/a>: <em>It&#8217;s the authors, stupid!<\/em><\/p><\/div><div class=\"syndication-links\"><\/div>","protected":false},"excerpt":{"rendered":"There&#8217;s been a lot of hubbub about XHTML2 being incompatible with XHTML1 and HTML. Of more concern to me (in this post, anyway) is an inconsistency in the XHTML2 spec itself, one that I haven&#8217;t seen considered by the hoi polloi. Several attributes in the current draft of XHTML2 are specified in a form that&#8217;s&hellip;","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"mf2_syndication":[],"venue_id":0},"categories":[3],"tags":[],"kind":false,"_links":{"self":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts\/373"}],"collection":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/comments?post=373"}],"version-history":[{"count":0,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/posts\/373\/revisions"}],"wp:attachment":[{"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/media?parent=373"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/categories?post=373"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/peterjanes.ca\/blog\/wp-json\/wp\/v2\/tags?post=373"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}