Validating an XHTML+RDFa 1.0 Page Containing Facebook fb: Elements?

I have a page that starts as follows:

<?xml version="1.0" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN" "http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html
xmlns="http://www.w3.org/1999/xhtml"
version="XHTML+RDFa 1.0"
xmlns:og="http://ogp.me/ns#"
xmlns:fb="http://ogp.me/ns/fb#"
xml:lang="en"
>

From what I've read, this should be the correct way to declare a page that is written in XHTML 1.0, but additionally includes Facebook-specific elements like fb:like-box. However, I've been unable to get the validator to accept it.

I would expect that the validator would either ignore elements it doesn't understand which are in a namespace declared in the html element, or that it would be able to actually use the namespace declaration to go ahead and validate those elements completely.

For the moment, as a workaround, I'm using server-side includes and user-agent sniffing to hide the Facebook elements from the validator, but this feels like a cheap hack.

Is there a better way to get the page to pass validation and still include the Facebook elements?
-- 
Aaron Davies
adavies42@me.com

Received on Tuesday, 30 July 2013 04:58:22 UTC