[whatwg] A Selector-based metadata proposal (was: Annotating structured data that HTML has no semantics for)

In part 0.1 you include some HTML and some RDF triples that you'd  
like to mark up in the HTML and conclude that RDFa is incapable of  
doing that without adding extra wrapper elements.

While adding redundant wrapper elements and empty elements is  
occasionally needed in RDFa (and from what I can tell, the microdata  
approach is even worse at this), the example you give doesn't require  
any.

Thusly:

<html>
   <head>
     <title>My homepage</title>
   </head>
   <body
     xmlns:dc="http://purl.org/dc/elements/1.1/"
     xmlns:cc="http://creativecommons.org/ns#">
     <h1 property="dc:title">Eduard Pascual's homepage</h1>
     <p>Someday I will put some content here!</p>
     <small>This page, by <a rel="cc:attributionURL" href="/"
     property="dc:creator cc:attributionName">Eduard Pascual</a>,
     is licensed under a <a rel="license"
     href="http://creativecommons.org/licenses/by/3.0/"
     >CC Attribution license</a>.</small>
   </body>
</html>

Part 0.3 of your document claims that RDFa is designed for XHTML  
"exclusively". This is not the case - the designers of RDFa went out  
of their way to make its use feasible in *any* XML or XML-like  
language. SVG Tiny 1.2 includes the RDFa attributes, so RDFa can be  
used in SVG.

Part 0.3 also states that "both Microformats and RDFa require the  
human-readable values to be reused as the machine-
readable ones.". Actually, RDFa provides @content and @resource  
which, respectively, over-ride human-readable text and human-intended  
link targets.

e.g.

<p xmlns:foaf="http://xmlns.com/foaf/0.1/"
    typeof="foaf:Person">
   <span property="foaf:name">Ian Hickson</span>'s
   nickname is <span property="foaf:nick" content="Hixie"
   >H to the I to the X to the I to the E</span> (as a
   Gangsta rapper might put it.
</p>

Lastly, and most seriously, CRDF doesn't seem to distinguish between  
literals and resources. For example, with CRDF, I can do:

<base href="http://example.net/" />
<script type="text/crdf">
@namespace ex "http://example.com/"
a.foo {
   ex|property1: attr(title);
   ex|property2: attr(href);
}
</script>
<a class="foo" href="http://example.org/" title="Quux">...</a>

And I'd expect it to generate the following RDF/XML:

<rdf:Description rdf:about="http://example.net/">
   <ex:property1>Quux</ex:property1>
   <ex:property2 rdf:resource="http://example.org/" />
</rdf:Description>

But it is not clear why a parser should generate the above, and not:

<rdf:Description rdf:about="http://example.net/">
   <ex:property1 rdf:resource="http://example.net/Quux" />
   <ex:property2>http://example.org/</ex:property2>
</rdf:Description>

And there is a big difference in what these two pieces of RDF/XML mean.

-- 
Toby A Inkster
<mailto:mail at tobyinkster.co.uk>
<http://tobyinkster.co.uk>

Received on Saturday, 16 May 2009 05:12:08 UTC