[whatwg] A Selector-based metadata proposal (was: Annotating structured data that HTML has no semantics for)
Toby A Inkster
mail at tobyinkster.co.uk
Sat May 16 05:12:08 PDT 2009
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>
More information about the whatwg
mailing list