<div dir="ltr">(Note: I&#39;ve been discussing just such a CSS-like rdf format with Ben offlist, inspired directly by Eduard&#39;s proposal earlier.)<br><br><div class="gmail_quote">On Fri, Aug 29, 2008 at 1:09 PM, Ben Adida <span dir="ltr">&lt;<a href="mailto:ben@adida.net">ben@adida.net</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div class="Ih2E3d">Greg Houston wrote:<br>
</div><div class="Ih2E3d">&gt; My suggestion keeps the metadata code tidy, and more human readable.<br>
&gt; Sprawling out all the different metadata properties just makes a huge<br>
&gt; mess of the markup.<br>
<br>
</div>I understand how it would seem messy the first few times you look at it,<br>
but I&#39;m having trouble seeing how your proposal is any less messy. If<br>
you want a lot of metadata, you&#39;ve got a lot of markup. &quot;Messy&quot; is<br>
subjective.<br>
<div class="Ih2E3d"><br>
&gt; This sort of mess isn&#39;t acceptable to me:<br>
&gt;<br>
&gt; &lt;div class=&quot;vcard&quot; id=&quot;weborganics&quot;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;xmlns:foaf=&quot;<a href="http://xmlns.com/foaf/0.1/" target="_blank">http://xmlns.com/foaf/0.1/</a>&quot;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;typeof=&quot;foaf:Person&quot;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;about=&quot;#weborganics&quot;&gt;<br>
&gt; &lt;p&gt;&lt;span property=&quot;foaf:name&quot; class=&quot;fn&quot;&gt;Martin McEvoy&lt;/span&gt;&lt;/p&gt;<br>
&gt; &lt;p rel=&quot;foaf:img&quot;&gt;<br>
&gt; &lt;img alt=&quot;weborganics&quot; src=&quot;<a href="http://weborganics.co.uk/images/me.jpg" target="_blank">http://weborganics.co.uk/images/me.jpg</a>&quot;<br>
&gt; class=&quot;photo&quot;/&gt;<br>
&gt; &lt;/p&gt;<br>
&gt; &lt;p&gt;Contact: &lt;a rel=&quot;foaf:mbox&quot; title=&quot;Email&quot; class=&quot;email&quot;<br>
&gt; href=&quot;mailto:<a href="mailto:info@weborganics.co.uk">info@weborganics.co.uk</a>&quot;&gt;Email&lt;/a&gt;<br>
&gt; Web: &lt;a rel=&quot;foaf:weblog me&quot; class=&quot;url&quot;<br>
&gt; href=&quot;<a href="http://weborganics.co.uk/index.xhtml" target="_blank">http://weborganics.co.uk/index.xhtml</a>&quot;&gt;WebOrganics&lt;/a&gt;&lt;/p&gt;<br>
&gt; &lt;div class=&quot;geo&quot; id=&quot;weblog&quot; rel=&quot;foaf:based_near&quot;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp;xmlns:geo=&quot;<a href="http://www.w3.org/2003/01/geo/wgs84_pos#" target="_blank">http://www.w3.org/2003/01/geo/wgs84_pos#</a>&quot;&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp;&lt;span typeof=&quot;geo:Point&quot; about=&quot;#weblog&quot;&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;abbr property=&quot;geo:lat&quot; content=&quot;53.7552&quot; title=&quot;53.7552&quot;<br>
&gt; class=&quot;latitude&quot;&gt;N 53.7552&lt;/abbr&gt;,<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&lt;abbr property=&quot;geo:long&quot; content=&quot;-2.3675&quot; title=&quot;-2.3675&quot;<br>
&gt; class=&quot;longitude&quot;&gt;W -2.3675&lt;/abbr&gt;<br>
&gt; &nbsp; &nbsp; &nbsp; &nbsp;&lt;/span&gt;<br>
&gt; &lt;/div&gt;<br>
<br>
</div>Which part of this is &quot;messy&quot; and &quot;unacceptable?&quot;<br>
<br>
This particular example is trying to do both microformats and quite a<br>
bit of RDFa. Think of it as an advanced example, which certainly does<br>
complicate things a bit. But other than the whitespace which isn&#39;t<br>
conducive to easy reading, what are the problems?</blockquote><div><br>It&#39;s... the whole thing.&nbsp; Does that not put you *directly* in mind of the bad old days of presentational html, when every file was fat with useless cruft?&nbsp; CSS pushed all that out of the html.&nbsp; Very often it saves us effort, as we need only say something once in the CSS and it applies to every page we link it into.&nbsp; Even when it doesn&#39;t, though, even when we&#39;re crafting a single specifically targeted chunk of CSS&nbsp; for one single page on our website, the combination of CSS+HTML makes the entire thing cleaner and more maintainable.&nbsp; Sometimes it actually requires *more* coding, but that code is generally much easier to understand and to edit later.&nbsp; Arguably, it makes it more aesthetically pleasing too.<br>
<br>Exact same thing here.&nbsp; As you say, if we&#39;re going to have metadata, we *can&#39;t* separate it from the content - it must *be* the content.&nbsp; What we want is merely a way of specifying which content is which metadata.&nbsp; This exemplifies DRY, as you&#39;re not repeating the important data - it appears only once in the actual content, so if it&#39;s updated there the metadata is also updated for free (being the same thing).<br>
<br>It&#39;s just that... syntax!&nbsp; It&#39;s horrible!&nbsp; It&#39;s ugly!&nbsp; It&#39;s bloated!&nbsp; It&#39;s useful when you want to present a single copy-paste-able chunk of html for clueless web authors to paste into their blog or facebook account, but us professional authors recoil in horror at such a thing, and with good reason.&nbsp; You *can* pull this stuff out into a separate chunk.&nbsp; We can even follow the useful example of CSS and allow partially-inline coding with a &lt;metadata&gt; tag, or fully separated stuff in another file.<br>
<br>This is *not* separation of content and metadata.&nbsp; It&#39;s separation of content and *classification*.&nbsp; We don&#39;t need classification inline to reduce data rot, because the data is still in a single, primary location - the content itself.&nbsp; Nor do we need it inline to enable cross-format metadata-faithful transfer - if this ever becomes a convenient reality, it will be performed by rdf-aware user agents anyway, which have already built up an internal RDF graph of the data in the page.&nbsp; They can export in appropriate formats by themselves.<br>
<br>As an added bonus, this kills the entire qname/curie/uri debate completely, as that data is pulled out to the classification format where you don&#39;t have to worry about it messing with dom parsing or whatever.<br><br>
I&#39;ve converted Greg Houston&#39;s complex example into my early-draft syntax that I discussed with you off-list, and put it up on my site.[1]&nbsp; In this example the CRDF code is taller (though the metadata will likely be put away in a separate file and just linked in, so that&#39;s not an issue) and larger (by 90 bytes), but if you use a single extra point or another vcard on your site, you immediately see savings.&nbsp; What&#39;s more, the code is much *cleaner*.&nbsp; It has a bit more elements than I&#39;d prefer to see, but that&#39;s a tradeoff you have to make with any categorization scheme because it&#39;s difficult to target text directly.&nbsp; The whole thing is much easier to understand now, though, and that&#39;s the sort of cognitive savings that are *really* important to an author.<br>
<br>(Note that I&#39;m going off of pure intuition as to how foaf and geo work, so I may have some details wrong.&nbsp; Corrections are invited offlist.)<br><br>[1]: <a href="http://www.xanthir.com/rdfa-vs-crdf.php">http://www.xanthir.com/rdfa-vs-crdf.php</a><br>
<br>~TJ<br></div></div></div>