Facebook Connect and HTML5, xmlns available?

Facebook Connect and their "Social Widgets" documentation mention that you need to add an xmlns attribute to your <html> tag on the page where it will be used.

I understand that xmlns is for XML Name-spacing, and have used such with XHTML before. However, with all the recent talk about HTML4 / HTML5, without having read through the entire spec, is the xmlns attribute compatible with valid HTML5? What about HTML4?

If I've looked over an obvious mention of this in the docs, I'm sorry... point it out?

EDIT: A couple docs references/cites:

http://developers.facebook.com/news.php?blog=1&story=198

https://developers.facebook.com/docs/guides/web

Answers


The below answer is from 2009. It discusses the state of HTML 5 at the time.

The above question is also from 2009. It discusses the state of the Facebook APIs at the time.

Neither are relevent for 2017.


is the xmlns property

It's an attribute.

compatible with valid HTML5?

Sort of. It is completely meaningless, but allowed so people can be lazy when porting XHTML.

Remember that HTML 5 is an unfinished draft. These things are subject to change. Don't rush into using HTML 5 unless it offers a serious benefit.

What about HTML4?

Not at all.


I've had the same problem using HTML5 for facebook connect and solved with a small hack on Facebook's JavaScript API.

Read my blog: http://fbml5.blogspot.com/

The method on the dev wiki (mentioned by Jesus Saldivar) has two things which I don't like:

  • it requires an extra javascript call per html tag. My method only needs a html tag.
  • it needs invalid attributes in the tags, so the final html code is invalid. My method uses the user-data attributes to avoid invalid html.

Please tell me what you think of it.


Actually, the first cited reference discusses adding a xmlns:fb="http://www.facebook.com/2008/fbml" attribute. This is not valid HTML5. It is valid XHTML5. The second cited reference does not mention an xmlns attribute at all.

Note though, that although it is not valid HTML4 or HTML5, it will do no harm.


Another Option

"Using the Facebook JavaScript Client Library, you can render XFBML inline on a Facebook Connect site or iframe canvas page, without using XFBML tags."

http://wiki.developers.facebook.com/index.php/Using_HTML_to_Imitate_XFBML


Need Your Help

Version numbers for CakePHP

cakephp cakephp-1.2

I have inherited code from old contractors overseas. The cakephp version I see is:

How to convert Linq query to a DataTable, DataSet or DataView?

.net linq datatable dataset dataview

Is there an easy way to do this or do I just need to go through each record and insert it into whatever data structure I go with?