[uf-discuss] Microformats and RDFa not as far apart as previously thought

Toby A Inkster mail at tobyinkster.co.uk
Sat Jun 28 16:51:46 PDT 2008

André Luís wrote:

> this extension would only work on xHTML, right? Or is it possible to
> use rdfa in html? (I'm not that proficient in rdfa)

The RDFa people have only specifically defined RDFa in terms of  
XHTML. This is for mostly pragmatic rather than ideological reasons -  
it was far easier to spec out that way. In practice, it was always  
expected that RDFa parsers would also support HTML, and indeed the  
majority do.

There are two pitfalls with adding RDFa to HTML:

1. It adds a few new attributes, plus allows a handful of existing  
attributes like 'rel', 'rev' and 'content' to be set on more elements  
than before. Any non-trivial RDFa will make use of these facilities,  
so can't be validated against the HTML 4.01 Strict DTD. It would  
probably be not much more than 20 minutes work to download a copy of  
the DTD, add these attributes in and get your HTML valid though.  
(Some people seem to have an irrational dislike for custom DTDs, so  
this solution may not be satisfactory to them.)

2. It also uses xmlns:X attributes, where X can be pretty much  
anything. Because DTDs don't allow wildcard attributes to be defined,  
you won't be able to create a DTD that can handle this. Again, use of  
xmlns:X is not required by RDFa, but any non-trivial page will  
probably need to. If you know that you're only going to be using a  
limited number of RDF vocabs, your DTD can however define those ones  
specifically (e.g. xmlns:dc for Dublin Core, xmlns:foaf for FOAF,  
etc). But in the general case, this is less easy to get around.

Although, it is beyond the scope of the RDFa spec, so is not likely  
to become official in the foreseeable future, I've proposed an  
alternative syntax for the xmlns:X stuff to be used in HTML -  
basically to use RFC 2731. (Which is what eRDF does.) I don't know  
how many parsers have implemented it, but Cognition includes support  
- http://buzzword.org.uk/cognition/

In short, if you're using the standard HTML 4.01 DTDs, RDFa will not  
validate. But it will work.

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

More information about the microformats-discuss mailing list